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.
| Filtro | Recursos | Uso |
|---|---|---|
search | Productos, socios, almacenes, ubicaciones, categorías | Texto parcial (código, nombre o código de barras en productos) |
item_code | Productos, existencias, niveles | Código exacto; en niveles, varios separados por comas |
warehouse | Existencias, niveles, ubicaciones, olas | Código del almacén (whs_code) |
external_ref | Documentos, recepciones, surtidos, órdenes de transferencia | Referencia externa del documento |
status | Documentos y operación | Estado del recurso |
from, to | Recepciones, surtidos, traspasos, olas | Rango 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:
- En la primera ejecución, recorra el listado completo y registre la hora de inicio.
- En cada ciclo, solicite
?updated_since=<hora registrada>&sort=updated_aty recorra las páginas. - 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 conupdated_since cada hora recupera cualquier aviso que el sistema receptor no haya procesado.
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"