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 /pickings

Listar surtidos

Los surtidos (el trabajo de surtir un documento de salida), del más reciente al más antiguo.

Alcance (cliente de integración)
pickings:read
Permiso (token de usuario)
Token válido
Idempotency-Key
No aplica

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: -created_at

    Campo de orden; antepón - para descendente.

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

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

  • status string

    Estado del surtido.

    Valores: pending, started, finalized, synchronized, cancelled, reverted
  • from string (date)

    Creados desde esta fecha (AAAA-MM-DD).

  • to string (date)

    Creados hasta esta fecha (AAAA-MM-DD).

  • external_ref string

    La referencia externa del documento de salida.

Respuestas

200 Página de surtidos.
  • data array de objetos obligatorio
    15 campos de data
    • id integer obligatorio
    • code string obligatorio

      PKG-{id}.

    • uuid string | null
    • concept string | null
    • status string obligatorio

      pending (por iniciar), started, finalized (terminado en el almacén), synchronized (enviado al ERP), cancelled, reverted.

      Valores: pending, started, finalized, synchronized, cancelled, reverted
    • priority integer | null
    • has_shortage boolean

      Se surtió con faltante.

    • comments string | null
    • user_id integer | null
    • operator objeto | null

      La persona que hizo el trabajo.

      2 campos de operator
      • id integer obligatorio
      • name string | null obligatorio
    • document objeto | null

      El documento sobre el que se trabajó.

      5 campos de document
      • id integer obligatorio
      • type string obligatorio

        Tipo interno del documento (purchase_order, sale_order, transfer_order…).

      • doc_num string | integer | null obligatorio
      • card_code string | null

        Código del proveedor o del cliente.

      • external_ref string | null

        La referencia externa que envió el sistema de origen.

    • started_at string (date-time) | null
    • finalized_at string (date-time) | null
    • created_at string (date-time) | null
    • updated_at string (date-time) | null
  • 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.

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/pickings" \
  -H "Authorization: Bearer $CHAINLINK_TOKEN" \
  -H "Accept: application/json"
Respuesta
{
    "data": [
        {
            "id": 5,
            "code": "PKG-5",
            "uuid": "6c1f0b8e-3d2a-4f5b-9e7c-2a4d8b1c0f93",
            "concept": "dispatch_good",
            "status": "pending",
            "priority": 50,
            "has_shortage": false,
            "comments": null,
            "user_id": 2,
            "operator": {
                "id": 2,
                "name": "Juan Pérez"
            },
            "document": {
                "id": 6,
                "type": "dispatch_good",
                "doc_num": "SD-627227",
                "card_code": null,
                "external_ref": null
            },
            "started_at": null,
            "finalized_at": null,
            "created_at": "2026-10-06T16:20:11.000000Z",
            "updated_at": "2026-10-06T16:20:11.000000Z"
        }
    ],
    "links": {
        "first": "https://empresa.chainlink.mx/api/v1/pickings?page=1",
        "last": "https://empresa.chainlink.mx/api/v1/pickings?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "links": [],
        "path": "https://empresa.chainlink.mx/api/v1/pickings",
        "per_page": 25,
        "to": 5,
        "total": 5
    }
}