Saltar al contenido
SendIt está en desarrollo y todavía no opera comercialmente · SendIt is in development and not yet commercially available.
SendItdocs
Español
Esc
navigateopen⌘Jpreview
En esta página

Rastreo público

Comparte un enlace opaco para que tu comprador consulte el paquete sin cuenta y sin exponer datos personales.

El rastreo público es para tu comprador, no para tus sistemas. No requiere autenticación y devuelve una vista con datos personales reducidos.

Toma el enlace del envío

El token se emite al comprar la guía. Un envío en DRAFT trae publicTrackingToken en null. Lee el token o la URL desde cualquiera de estas fuentes:

Fuente Campos
GET /v1/shipments/:id publicTrackingToken y trackingUrl
POST /v1/bulk/shipments/fetch trackingUrl
Webhook shipment.label.created trackingUrl
https://app.sendit.mx/track/2f68c611-30af-4a86-9cde-793413af5f65

GET /v1/shipments omite los dos a propósito: una credencial de portador no va en una colección que se puede recorrer. Para armar un botón de “compartir rastreo” desde una fila del listado, consulta el envío por su id.

No construyas la URL a partir del número de rastreo, y no existe una búsqueda pública por número y nombre. Si el destinatario pierde el enlace, vuelve a compartirlo desde tu sistema.

El token es una credencial de portador. Quien tenga el enlace puede consultar el estado.

Consulta el estado con el token

curl https://api.sendit.mx/v1/tracking/public/2f68c611-30af-4a86-9cde-793413af5f65
{
  "success": true,
  "data": {
    "object": "public_tracking",
    "trackingNumber": "DHL123456789MX",
    "carrierCode": "DHL",
    "status": "IN_TRANSIT",
    "estimatedDeliveryDate": "2026-08-04T00:00:00.000Z",
    "actualDeliveryDate": null,
    "destination": {
      "city": "Monterrey",
      "state": "Nuevo León"
    },
    "events": [
      {
        "eventCode": "IN_TRANSIT",
        "description": "En tránsito",
        "occurredAt": "2026-08-01T15:30:00.000Z",
        "isException": false,
        "location": {
          "city": "San Luis Potosí",
          "state": "San Luis Potosí",
          "country": "MX"
        }
      }
    ],
    "branding": null
  }
}

La respuesta no incluye nombre, calle, colonia, código postal, configuración de la organización ni precios. Las respuestas se pueden cachear 60 segundos.

El location de cada evento trae city, state y country. Cada uno puede ser null. No lleva postalCode: se retira a propósito, así que no lo modeles.

Lee el estado con el vocabulario del envío

El campo status usa los estados del envío, no los del rastreador. Los valores posibles son DRAFT, PENDING, LABEL_PURCHASED, READY_FOR_PICKUP, PICKED_UP, IN_TRANSIT, OUT_FOR_DELIVERY, DELIVERED, RETURNED, FAILED y CANCELLED.

Un enlace compartido casi siempre arranca en LABEL_PURCHASED, porque el token nace al comprar la guía. Trata ese estado de forma explícita en lugar de dejarlo caer en tu rama por defecto. UNKNOWN y PRE_TRANSIT son de rastreadores y nunca aparecen aquí.

Muestra tu marca cuando la habilites

Activa publicTrackingPage en la marca de tus notificaciones. Viene apagada por defecto. Cuando está activa, la respuesta puede agregar solo estos campos:

{
  "branding": {
    "displayName": "Tienda Ejemplo",
    "logoUrl": "https://cdn.example.com/logo.png",
    "accentColor": "#1D4ED8",
    "footer": "Gracias por tu compra"
  }
}

Si no habilitas la página con marca, branding es null completo. El footerText que guardaste llega aquí como footer. El logoUrl y el accentColor se vuelven a validar en esta respuesta y llegan en null si el valor guardado no pasa. El replyTo nunca es público.

Invalida un enlace filtrado

Si el enlace llegó a la persona equivocada, emite uno nuevo:

curl -X POST https://api.sendit.mx/v1/shipments/clxq1w2e3r4t5y6u7i8o9p0a/tracking-token/rotate \
  -H "X-API-Key: sk_live_..."
{
  "success": true,
  "data": {
    "object": "public_tracking_token",
    "shipmentId": "clxq1w2e3r4t5y6u7i8o9p0a",
    "publicTrackingToken": "6f1c2b90-1f0a-4f2e-9a3f-6b7c8d9e0f11",
    "trackingUrl": "/v1/tracking/public/6f1c2b90-1f0a-4f2e-9a3f-6b7c8d9e0f11",
    "rotatedAt": "2026-08-04T18:04:11.000Z"
  }
}

Necesitas rol OPERATOR o superior. Las llaves de API requieren el alcance shipments:write.

Cancelar una guía borra el token. Solo una compra nueva emite otro.

Protege el token

  • Comparte el enlace solo con el destinatario.
  • No envíes el token a herramientas de analítica.
  • No lo incluyas en datos de referencia hacia sitios de terceros.
  • Genera enlaces solo desde los recursos que devuelve la API.

Maneja los errores

Código Cuándo ocurre Cómo resolverlo
404 RESOURCE_NOT_FOUND El token no existe o ya no es válido Solicita al comercio que vuelva a compartir el enlace
429 RATE_LIMIT_EXCEEDED Excediste el límite del tráfico público Respeta Retry-After antes de reintentar

Usa solo envíos de producción

El rastreo público funciona únicamente con envíos de producción. Consulta los envíos de modo de prueba con endpoints autenticados.

¿Te ha resultado útil esta página?