Filtros, orden y sincronización

Filtros por recurso, orden con sort y sincronización incremental con updated_since.

En esta página

Filtros

Cada listado acepta filtros propios en la cadena de consulta, por ejemplo GET /stocks?item_code=P-1001&warehouse=CEDIS-GDL. Los filtros se combinan con «y». La referencia lista los de cada recurso. Un valor no válido (una fecha mal escrita, un estado inexistente) responde 422 validation_failed con el parámetro en error.field; la API no lo ignora.

FiltroRecursosUso
searchProductos, socios, almacenes, ubicaciones, categoríasTexto parcial (código, nombre o código de barras en productos)
item_codeProductos, existencias, nivelesCódigo exacto; en niveles, varios separados por comas
warehouseExistencias, niveles, ubicaciones, olasCódigo del almacén (whs_code)
external_refDocumentos, recepciones, surtidos, órdenes de transferenciaReferencia externa del documento
statusDocumentos y operaciónEstado del recurso
from, toRecepciones, surtidos, traspasos, olasRango de fechas de creación (AAAA-MM-DD)

Orden

El parámetro sort indica el campo de orden; el prefijo - invierte el sentido: sort=-updated_at. Cada listado acepta un conjunto fijo de campos, indicado en su referencia; otro campo responde 422. Ante un empate, la API ordena por id en el mismo sentido, de modo que las páginas no se traslapan.

Sincronización incremental

Todos los listados aceptan updated_since: devuelve solo lo que cambió desde esa fecha y hora (ISO 8601 con zona horaria). Procedimiento:

  1. En la primera ejecución, recorra el listado completo y registre la hora de inicio.
  2. En cada ciclo, solicite ?updated_since=<hora registrada>&sort=updated_at y recorra las páginas.
  3. Al terminar, registre como nueva marca la hora de inicio del ciclo, no la de fin, para no perder cambios ocurridos durante la lectura.

En niveles de existencia, updated_since significa «productos cuyas existencias se movieron desde esa fecha».

Sincronización y webhooks

Los webhooks avisan en el momento; un ciclo con updated_since cada hora recupera cualquier aviso que el sistema receptor no haya procesado.
Productos modificados desde las 6:00
curl "https://empresa.chainlink.mx/api/v1/products?updated_since=2026-10-06T06:00:00-06:00&sort=updated_at&per_page=100" \
  -H "Authorization: Bearer $CHAINLINK_TOKEN" \
  -H "Accept: application/json"