Última actualización: 2026-09-21 · Base URL: https://api.shalom-api.lat
El rastreo consulta el estado de una guía de Shalom usando su número de orden (8 dígitos) y su código de seguridad (4 caracteres alfanuméricos). La respuesta es el espejo del sistema de Shalom: se refresca cada 30 minutos mientras la guía se mueve, cada 2 horas cuando lleva un tiempo sin cambios y cada 6 horas en las más antiguas. Si consultas una guía cuyo último dato guardado tiene más de 10 minutos, pedimos el estado en vivo antes de responderte.
POST/track
Rastrear un envío
Devuelve el resultado de búsqueda y los estados de la guía (espejo del sistema de Shalom).
Parámetro
Descripción
orderNumber*
Número de guía / orden (string de 8 dígitos, patrón ^[0-9]+$).
{
"search": { "..." : "resultado de búsqueda de Shalom (espejo)" },
"statuses": [ { "..." : "estados de la guía (espejo)" } ]
}
Nota: La respuesta es el espejo de la API pública de Shalom (campos adicionales según el estado). Si el dato guardado tiene más de 10 minutos, se consulta en vivo al responder (unos segundos; si el origen no responde, se devuelve el último espejo).
POST/track/batch
Rastrear en lote
Rastrea múltiples guías con control de flujo y concurrencia. Límite máximo de 50 órdenes por petición.
Parámetro
Descripción
orders*
Array de objetos { orderNumber, orderCode }, máximo 50 items.
Nota: La respuesta es un ARRAY directo: cada posición corresponde a la orden enviada en el mismo orden.
GET/track/voucher
Descargar comprobante / voucher
Genera y descarga el comprobante del envío en formato imagen (por defecto) o PDF.
Parámetro
Descripción
orderNumber*
Número de guía (8 dígitos).
orderCode*
Código de seguridad (4 caracteres).
format
Formato de descarga: image (default) | pdf.
curl -X GET "https://api.shalom-api.lat/track/voucher?orderNumber=66479331&orderCode=3KTH&format=pdf" \
-H "x-api-key: TU_API_KEY"
Respuesta (ejemplo)
Content-Type: image/png
<binario — imagen o PDF del comprobante>
GET/track/labelShalom Pro
Descargar etiqueta PDF
Descarga el PDF de la etiqueta (rótulo) de un envío. Es una operación Pro: requiere una cuenta Shalom Pro conectada (instanceId) porque el rótulo se genera con la sesión del usuario.
Parámetro
Descripción
instanceId*
ID de la instancia (cuenta Shalom Pro conectada).
ose_id
ose_id / service_order_id del envío (recomendado, funciona también con guías pendientes).
orderNumber
Número de guía (8 dígitos). Alternativa a ose_id.
orderCode
Código de seguridad (4 caracteres). Alternativa a ose_id.
curl -X GET "https://api.shalom-api.lat/track/label?instanceId={instanceId}&ose_id={ose_id}" \
-H "x-api-key: TU_API_KEY"
Respuesta (ejemplo)
Content-Type: application/pdf
<binario — PDF de la etiqueta>
Nota: Identifica el envío con ose_id o con orderNumber + orderCode. Internamente se solicita un token temporal (POST /rotulo/token) y se descarga la URL firmada con la sesión de la instancia.
Qué datos necesitas para rastrear
El rastreo se hace con dos datos que el cliente recibe al registrar el envío: el número de orden de 8 dígitos y el código de seguridad de 4 caracteres alfanuméricos. Los dos son obligatorios. Sin el código, la API no puede resolver la guía aunque el número exista.
Rastreo individual frente a lote
POST /track resuelve una guía. Si tienes que revisar decenas —por ejemplo, todos los pedidos de la semana— usa POST /track/batch, que acepta hasta 50 guías por llamada.
El lote no solo ahorra requests: es la diferencia entre acercarte o no al límite de 1.000 peticiones por minuto cuando tu volumen crece.
Qué significa que la respuesta sea un espejo
La respuesta refleja el estado del sistema de Shalom, no un estado propio nuestro. Por eso los campos pueden variar según la etapa del envío y no conviene asumir que todos los hitos estarán siempre presentes.
El estado se refresca solo, con un ritmo que depende de la actividad de la guía: cada 30 minutos mientras se mueve, cada 2 horas cuando lleva un tiempo sin cambios y cada 6 horas en las más antiguas. Las guías ya entregadas dejan de consultarse. Al llamar a POST /track, si el último dato guardado tiene más de 10 minutos se pide el estado en vivo antes de responder.
Polling frente a webhooks
Consultar el estado cada pocos segundos funciona, pero es caro y lento. Si tu sistema necesita reaccionar a los cambios —avisar al comprador, cerrar un pedido contra entrega— registra un webhook y suscribe las guías: recibirás un POST firmado solo cuando el envío cambie de estado, con el timeline completo dentro.
Guardar el histórico en tu base de datos
Conviene persistir cada consulta con su fecha. El estado en vivo te dice dónde está el paquete hoy; el histórico te permite responder «¿cuándo se movió por última vez?» y detectar envíos detenidos antes de que el cliente reclame.
Errores de esta sección
400
orderNumber no tiene 8 dígitos o orderCode no tiene 4 caracteres.
404
La guía no existe o aún no está registrada en Shalom.
Preguntas frecuentes
¿Qué necesito para rastrear un envío de Shalom por API?
El número de orden de 8 dígitos y el código de seguridad de 4 caracteres que se entregan al registrar la guía. Ambos son obligatorios.
¿Cuántas guías puedo consultar en una sola llamada?
En POST /track una guía; en POST /track/batch hasta 50 por petición.
¿El estado del envío es en tiempo real?
Es un espejo del sistema de Shalom, no un dato instantáneo: se refresca cada 30 min–6 h según la actividad de la guía y, si el dato guardado tiene más de 10 minutos, se consulta en vivo al responder tu llamada. Para reaccionar a los cambios sin consultar, lo eficiente es usar webhooks.
¿Cómo obtengo el comprobante o la etiqueta del envío?
Con GET /track/voucher para el comprobante y GET /track/label para la etiqueta en PDF.
¿Cómo evito estar consultando el estado todo el tiempo?
Con webhooks: registras tu URL una vez, suscribes las guías y recibes un POST firmado cada vez que un envío cambia de estado. Así dejas de hacer polling.