Consultar existencias

Niveles disponibles por producto y almacén, detalle por ubicación, lote y serie, y avisos de cambio.

En esta página

Publicar el inventario en una tienda en línea o devolverlo al ERP requiere conocer la cantidad de cada producto. La API ofrece dos vistas: niveles por producto (el caso habitual) y existencias por ubicación, lote y serie (el detalle).

Alcance: stocks:read.

Niveles por producto

GET /stock-levels devuelve, por producto:

  • on_hand: todo lo que está físicamente en el almacén.
  • available: lo que se puede prometer o surtir; descuenta lo que está en cuarentena, dañado, en tránsito o retenido, y lo reservado por pedidos abiertos.

Para una tienda en línea, publique available. El filtro warehouse limita el resultado a un almacén y item_code admite hasta 100 productos separados por comas. Sin warehouse, las cifras son el total de la empresa.

Disponible de tres productos en un almacén
curl "https://empresa.chainlink.mx/api/v1/stock-levels?warehouse=CEDIS-GDL&item_code=P-1001,P-1002,P-1003" \
  -H "Authorization: Bearer $CHAINLINK_TOKEN" \
  -H "Accept: application/json"
Respuesta 200
{
  "data": [
    { "product_id": 101, "item_code": "P-1001", "name": "Aceite comestible 1 L", "warehouse": "CEDIS-GDL", "on_hand": 48, "available": 46 },
    { "product_id": 102, "item_code": "P-1002", "name": "Arroz grano largo 1 kg", "warehouse": "CEDIS-GDL", "on_hand": 120, "available": 120 }
  ],
  "links": { "first": "…", "last": "…", "prev": null, "next": null },
  "meta": { "current_page": 1, "last_page": 1, "per_page": 25, "total": 2 }
}

Detalle por ubicación, lote y serie

GET /stocks devuelve una fila por producto, ubicación, lote y serie, con su caducidad y su estado de inventario. Se usa para conciliar lotes con el ERP o para localizar una serie.

Ubicación del lote L2610 de P-1001
curl "https://empresa.chainlink.mx/api/v1/stocks?item_code=P-1001&batch=L2610&status=in" \
  -H "Authorization: Bearer $CHAINLINK_TOKEN" \
  -H "Accept: application/json"

Actualización continua

  1. Suscríbase a stock.updated. Llega un aviso por cada transacción que mueve existencias, con available y on_hand de los productos afectados, a nivel empresa.
  2. Si publica por almacén, al recibir el aviso consulte GET /stock-levels?warehouse=…&item_code=… de esos productos.
  3. Como respaldo, cada hora consulte GET /stock-levels?updated_since=…: devuelve los productos cuyas existencias se movieron desde esa hora.

Las existencias cambian por operaciones del almacén

La API no ajusta existencias directamente: entran por recepciones, salen por surtidos y cambian de ubicación con traspasos y transferencias, con registro y auditoría. Las diferencias se corrigen con los conteos de la web.