URL base
Todas las rutas son relativas ahttps://tu-empresa.chainlink.mx (el subdominio de tu tenant)
y requieren un token Bearer. Consulta Autenticación
y Convenciones.
En esta página
Listar existencias
Lista las unidades de existencias (cantidad, estatus, serie y lote de un producto en una posición de almacén) de forma paginada, con filtros por producto, almacén y estatus.
Parámetros de consulta
product_id
|
integer | Filtra las existencias a un solo id de producto (coincidencia exacta con stocks.product_id). |
warehouse_id
|
integer | Filtra las existencias cuya posición de almacén pertenece a este almacén (whereHas sobre warehousePosition.warehouse_id). |
status
|
string | Filtra por estatus de las existencias. Valores conocidos: 'in' (con existencias) y 'out' (sin existencias); coincidencia exacta con stocks.status. |
per_page
|
integer | Tamaño de página. Se acota a un mínimo de 1 y un máximo de 100; el valor por defecto es 25. |
page
|
integer | Número de página para la paginación, iniciando en 1. |
curl -X GET "https://tu-empresa.chainlink.mx/api/v1/stocks" \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json"
{
"data": [
{
"id": 1,
"product_id": 6,
"product_name": "Galletas Marías 200g",
"item_code": "DEMO-006",
"qty": 11,
"status": "in",
"serial_number": null,
"batch_num": "L8916-260524",
"position": {
"id": 16,
"bin_code": "A-04-01",
"whs_code": "DEMO",
"warehouse_id": 1,
"warehouse_name": "Almacén Demo Principal"
},
"updated_at": "2026-07-05T14:10:22.000000Z"
},
{
"id": 2,
"product_id": 6,
"product_name": "Galletas Marías 200g",
"item_code": "DEMO-006",
"qty": 313,
"status": "in",
"serial_number": null,
"batch_num": "L9494-260607",
"position": {
"id": 17,
"bin_code": "A-04-02",
"whs_code": "DEMO",
"warehouse_id": 1,
"warehouse_name": "Almacén Demo Principal"
},
"updated_at": "2026-07-05T14:10:22.000000Z"
}
]
}
Obtener existencia
Obtiene una sola unidad de existencias por su id, incluyendo los datos del producto y de la posición de almacén.
Parámetros de ruta
id
requerido
|
integer | El id del registro de existencias. Se resuelve mediante el route-model binding de Laravel sobre el modelo Stock. |
curl -X GET "https://tu-empresa.chainlink.mx/api/v1/stocks/{id}" \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json"
{
"data": {
"id": "integer",
"product_id": "integer",
"product_name": "string",
"item_code": "string",
"qty": "number (float)",
"status": "string",
"serial_number": "string",
"batch_num": "string",
"position": "object",
"updated_at": "string (ISO 8601)"
}
}
Listar almacenes
Lista los almacenes de forma paginada y ordenados por nombre, con un filtro de búsqueda por nombre.
Parámetros de consulta
search
|
string | Coincidencia parcial e insensible a mayúsculas sobre el nombre del almacén (SQL LIKE %search%). |
per_page
|
integer | Tamaño de página; se acota a 1..100, por defecto 25. |
page
|
integer | Número de página, iniciando en 1. |
curl -X GET "https://tu-empresa.chainlink.mx/api/v1/warehouses" \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json"
{
"data": [
{
"id": 1,
"whs_code": "DEMO",
"name": "Almacén Demo Principal",
"street": null,
"block": null,
"zip_code": null,
"city": "CDMX",
"state": null,
"country": "México",
"created_at": "2026-07-05T14:10:01.000000Z",
"updated_at": "2026-07-05T14:10:01.000000Z",
"deleted_at": null,
"created_by": null,
"updated_by": null,
"deleted_by": null
},
{
"id": 5,
"whs_code": "REG1",
"name": "Almacén Regional 1",
"city": "Región 1",
"country": "México",
"deleted_by": null
}
],
"meta": {
"current_page": 1
},
"links": {
"first": null,
"last": null,
"prev": null,
"next": null
}
}
Obtener almacén
Obtiene un solo almacén por su id, incluyendo sus posiciones.
Parámetros de ruta
id
requerido
|
integer | Id del almacén. Se resuelve mediante el route-model binding sobre el modelo Warehouse. |
curl -X GET "https://tu-empresa.chainlink.mx/api/v1/warehouses/{id}" \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json"
{
"data": {
"id": "integer",
"whs_code": "string",
"name": "string",
"street": "string",
"block": "string",
"zip_code": "string",
"city": "string",
"state": "string",
"country": "string",
"created_at": "string (datetime)",
"updated_at": "string (datetime)",
"deleted_at": "string",
"created_by": "integer",
"updated_by": "integer",
"positions": "array<WarehousePosition>"
}
}
Listar posiciones
Lista las posiciones de almacén de forma paginada y ordenadas por nombre, junto con su almacén padre, con filtro por almacén.
Parámetros de consulta
warehouse_id
|
integer | Filtra las posiciones a un solo almacén (coincidencia exacta con warehouse_positions.warehouse_id). |
per_page
|
integer | Tamaño de página; se acota a 1..100, por defecto 25. |
page
|
integer | Número de página, iniciando en 1. |
curl -X GET "https://tu-empresa.chainlink.mx/api/v1/warehouse-positions" \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json"
{
"data": {
"message": "Server Error"
}
}
Obtener posición
Obtiene una sola posición de almacén por su id, incluyendo su almacén padre.
Parámetros de ruta
id
requerido
|
integer | Id de la posición de almacén. Se resuelve mediante el route-model binding sobre el modelo WarehousePosition. |
curl -X GET "https://tu-empresa.chainlink.mx/api/v1/warehouse-positions/{id}" \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json"
{
"data": {
"id": "integer",
"warehouse_id": "integer",
"whs_code": "string",
"bin_code": "string",
"level_code": "string",
"disabled": "boolean",
"description": "string",
"created_at": "string (datetime)",
"updated_at": "string (datetime)",
"created_by": "integer",
"updated_by": "integer",
"warehouse": "object"
}
}
¿Necesitas habilitar un endpoint o tienes dudas? Contáctanos.
← Volver al inicio de Developers