Endpoints de la API. Especificación exacta de cada operación de la API v1 (parámetros, cuerpo, respuestas y ejemplos), generada del documento OpenAPI con el que se valida cada respuesta real. Los procedimientos completos están en Guías.

GET /transfer-orders

Listar órdenes de transferencia

Requiere el módulo de órdenes de transferencia; apagado, responde 404 transfer_orders_disabled.

Alcance (cliente de integración)
transfers:read
Permiso (token de usuario)
Token válido
Idempotency-Key
No aplica
Requisitos
Órdenes de transferencia activas

Parámetros de consulta

  • page integer valor por omisión: 1

    Número de página, desde 1.

  • per_page integer valor por omisión: 25

    Elementos por página, de 1 a 100. Un valor mayor se toma como 100.

  • sort string valor por omisión: -id

    Campo de orden; antepón - para descendente.

    Valores: id, -id, created_at, -created_at, updated_at, -updated_at, due_at, -due_at, priority, -priority
  • updated_since string (date-time)

    Solo lo que cambió desde esta fecha (ISO 8601), para sincronización incremental.

  • status string

    Estado de la orden.

    Valores: draft, released, picking, picked, in_transit, receiving, received, closed, cancelled
  • from_warehouse string

    Código del almacén de origen.

  • to_warehouse string

    Código del almacén de destino.

  • external_ref string

    Referencia externa de la orden.

Respuestas

200 Página de órdenes (sin líneas; el detalle de cada orden las incluye).
  • data array de objetos obligatorio
    26 campos de data
    • object string «transfer_order» obligatorio
    • id integer obligatorio
    • code string obligatorio
    • status string obligatorio
      Valores: draft, released, picking, picked, in_transit, receiving, received, closed, cancelled
    • status_label string
    • headline string | null
    • has_discrepancy boolean

      Lo recibido no coincide con lo despachado.

    • from objeto obligatorio
      3 campos de from
      • id integer | null
      • code string | null
      • name string | null
    • to objeto obligatorio
      3 campos de to
      • id integer | null
      • code string | null
      • name string | null
    • priority integer
    • reason string | null
    • due_at string (date-time) | null
    • lines_count integer
    • units objeto obligatorio
      4 campos de units
      • requested number
      • picked number
      • dispatched number
      • received number
    • dispatched_at string (date-time) | null
    • received_at string (date-time) | null
    • closed_at string (date-time) | null
    • seal_number string | null
    • vehicle_plate string | null
    • carrier_id integer | null
    • external_ref string | null
    • source string
      Valores: web, api, import, sap
    • picking_id integer | null
    • receipt_id integer | null
    • sap objeto | null

      Estado del envío al ERP cuando aplica.

    • lines array de objetos | null

      null en el listado; en el detalle, las líneas.

      11 campos de lines
      • id integer
      • line_num integer
      • product_id integer | null
      • item_code string | null
      • qty number
      • picked_qty number
      • dispatched_qty number
      • received_qty number
      • batch_num string | null
      • serial_numbers array de textos
      • status string
  • links objeto obligatorio
    4 campos de links
    • first string (uri) | null obligatorio
    • last string (uri) | null obligatorio
    • prev string (uri) | null obligatorio

      Página anterior; null en la primera.

    • next string (uri) | null obligatorio

      Página siguiente; null en la última.

  • meta objeto obligatorio
    8 campos de meta
    • current_page integer obligatorio
    • from integer | null

      Posición del primer elemento de la página.

    • last_page integer obligatorio
    • links array de objetos

      Enlaces de página para interfaces; no hace falta leerlos.

    • path string (uri)
    • per_page integer obligatorio
    • to integer | null
    • total integer obligatorio

      Total de elementos con los filtros aplicados.

401 Falta el token o no es válido.

Cuerpo: el sobre de error.

402 La función no está en el plan de la empresa, o la cuenta está suspendida o cancelada.

Cuerpo: el sobre de error.

403 Al cliente le falta el alcance (missing_scope), al usuario el permiso (forbidden), o el token de usuario no tiene acceso a la ruta (client_not_allowed: aplicación móvil o usuario con verificación en dos pasos).

Cuerpo: el sobre de error.

404 El módulo no está activo en la empresa.

Cuerpo: el sobre de error.

422 Datos no válidos (validation_failed), una llave de idempotencia reutilizada con otra solicitud (idempotency_key_reused) o una regla de negocio que bloquea la operación (rule_blocked).

Cuerpo: el sobre de error.

429 Se superó el límite por minuto. Reintente después de los segundos de Retry-After.

Cuerpo: el sobre de error.

Probar

Probar con una instancia

La solicitud sale del navegador hacia la instancia indicada; nada pasa por chainlink.mx. El token se conserva solo en esta pestaña.

Obtener un token con un cliente de integración

Credenciales de Configuración › Clientes API (grant client_credentials). El secreto se usa una vez y no se guarda. Los tokens de usuario se obtienen fuera de la consola; ver Autenticación.

Solicitud
curl "https://empresa.chainlink.mx/api/v1/transfer-orders" \
  -H "Authorization: Bearer $CHAINLINK_TOKEN" \
  -H "Accept: application/json"
Respuesta
{
    "data": [
        {
            "object": "transfer_order",
            "id": 1,
            "code": "TR-000001",
            "status": "draft",
            "status_label": "Borrador",
            "headline": "TR-000001 · De CEDIS-GDL a TDA-MTY · Borrador",
            "has_discrepancy": false,
            "from": {
                "id": 1,
                "code": "CEDIS-GDL",
                "name": "CEDIS Guadalajara"
            },
            "to": {
                "id": 2,
                "code": "TDA-MTY",
                "name": "Tienda Monterrey"
            },
            "priority": 0,
            "reason": null,
            "due_at": null,
            "lines_count": 1,
            "units": {
                "requested": 24,
                "picked": 0,
                "dispatched": 0,
                "received": 0
            },
            "dispatched_at": null,
            "received_at": null,
            "closed_at": null,
            "seal_number": null,
            "vehicle_plate": null,
            "carrier_id": null,
            "external_ref": "TR-2026-0107",
            "source": "api",
            "picking_id": null,
            "receipt_id": null,
            "sap": {
                "dispatch": null,
                "receipt": null
            },
            "lines": null
        }
    ],
    "links": {
        "first": "https://empresa.chainlink.mx/api/v1/transfer-orders?page=1",
        "last": "https://empresa.chainlink.mx/api/v1/transfer-orders?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "links": [],
        "path": "https://empresa.chainlink.mx/api/v1/transfer-orders",
        "per_page": 25,
        "to": 1,
        "total": 1
    }
}