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 /warehouses/{id}/layout

Mapa publicado del almacén

El mapa vigente del almacén (pasillos, racks y ubicaciones con sus coordenadas). Responde ETag con la versión: con If-None-Match y ese valor, la respuesta es 304 sin cuerpo si no cambió. Requiere el módulo de mapas; un almacén sin mapa publicado responde 404.

Alcance (cliente de integración)
warehouses:read
Permiso (token de usuario)
Token válido
Idempotency-Key
No aplica
Requisitos
Módulo de mapas del almacén

Parámetros de ruta

  • id integer obligatorio

    Identificador numérico del recurso.

Cabeceras

  • If-None-Match string

    El ETag de la última lectura.

Respuestas

200 El mapa publicado.
  • data objeto obligatorio

    El mapa vigente; además de estos campos trae la geometría de pasillos, racks y ubicaciones.

    3 campos de data
    • warehouse_code string | null obligatorio
    • version integer obligatorio
    • published_at string (date-time) | null
304 El mapa no cambió desde el ETag enviado; sin cuerpo.
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.

404 El recurso no existe.

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/warehouses/101/layout" \
  -H "Authorization: Bearer $CHAINLINK_TOKEN" \
  -H "Accept: application/json"
Respuesta
{
    "data": {
        "warehouse_code": "CEDIS-MAPA",
        "version": 1,
        "published_at": "2026-10-06T10:20:11-06:00",
        "width_m": 30,
        "depth_m": 22,
        "grid_m": 0.5,
        "naming_mask": "{Z}-{A:2}-{B:2}-{L}",
        "slots_per_level": 1,
        "depot": {
            "x": 0,
            "y": 0
        },
        "zones": [
            {
                "code": "A",
                "type": "storage",
                "polygon": [
                    [
                        0,
                        0
                    ],
                    [
                        25,
                        0
                    ],
                    [
                        25,
                        17
                    ],
                    [
                        0,
                        17
                    ]
                ],
                "color": "#3B82F6",
                "temperature_class": null,
                "naming_mask": "{Z}-{A:2}-{B:2}-{L}"
            }
        ],
        "aisles": [
            {
                "number": 1,
                "x1": 4,
                "y1": 0,
                "x2": 4,
                "y2": 14,
                "width_m": 3,
                "one_way": false,
                "kind": "standard",
                "zone": null
            },
            {
                "number": 2,
                "x1": 8,
                "y1": 0,
                "x2": 8,
                "y2": 14,
                "width_m": 3,
                "one_way": false,
                "kind": "standard",
                "zone": null
            }
        ],
        "bays": [
            {
                "side": "L",
                "number": 1,
                "x": 2,
                "y": 1.5,
                "w": 2.7,
                "d": 1,
                "rotation": 90,
                "rack_type": "selective",
                "aisle": 1,
                "aisle_zone": null,
                "levels": [
                    {
                        "level_no": 1,
                        "z_from_m": 0,
                        "height_m": 1.5,
                        "max_weight_kg": null,
                        "golden": false
                    },
                    {
                        "level_no": 2,
                        "z_from_m": 1.5,
                        "height_m": 1.5,
                        "max_weight_kg": null,
                        "golden": true
                    }
                ]
            },
            {
                "side": "L",
                "number": 2,
                "x": 2,
                "y": 4.3,
                "w": 2.7,
                "d": 1,
                "rotation": 90,
                "rack_type": "selective",
                "aisle": 1,
                "aisle_zone": null,
                "levels": [
                    {
                        "level_no": 1,
                        "z_from_m": 0,
                        "height_m": 1.5,
                        "max_weight_kg": null,
                        "golden": false
                    },
                    {
                        "level_no": 2,
                        "z_from_m": 1.5,
                        "height_m": 1.5,
                        "max_weight_kg": null,
                        "golden": true
                    }
                ]
            }
        ],
        "points": []
    }
}