Kubova.
Iniciar sesiónEmpezar
Inicio

Kubova REST API

Empaca contenedores desde cualquier lenguaje. Bearer auth, JSON in / JSON out.

¿Buscas configuración MCP? Lee la guía MCP

Autenticación

Cada petición necesita una clave API en el header Authorization:

Authorization: Bearer kbv_abc123...

Genera claves desde el panel una vez en el plan Pro.

Gestionar claves API

Verificar clave

Usa /me para confirmar que tu clave es válida antes de enviar pack:

curl https://kubova.com/api/v1/me \
  -H "Authorization: Bearer kbv_..."

Empacar contenedores

POST a /api/v1/pack con cargos y un contenedor. El packer devuelve placements por contenedor, volumen usado, y piezas no colocadas.

curl -X POST https://kubova.com/api/v1/pack \
  -H "Authorization: Bearer kbv_..." \
  -H "Content-Type: application/json" \
  -d '{
    "cargos": [{
      "id": "sku-a",
      "name": "Box A",
      "shape": "box",
      "lengthCm": 50, "widthCm": 40, "heightCm": 30,
      "quantity": 20,
      "weightKg": 5,
      "color": "#e85d3a",
      "includeInLoading": true,
      "allowStacking": true,
      "allowRotation": true
    }],
    "container": {
      "id": "40hc",
      "name": "40HC",
      "innerLengthCm": 1203.0,
      "innerWidthCm": 235.2,
      "innerHeightCm": 269.7,
      "doorWidthCm": 233.5,
      "doorHeightCm": 258.5,
      "maxPayloadKg": 26330
    },
    "options": {
      "loadingDirection": "floor-to-top",
      "vnsTimeLimitMs": 5000
    }
  }'

En éxito retorna ok=true con result.containers y result.unplaced. En error retorna ok=false con un error string.

Generar reporte PDF

POST a /api/v1/report con el mismo body que /pack. format=json retorna base64 PDF + 3D PNG por contenedor; format=binary streams un único PDF combinado que puedes guardar.

# JSON response: base64 PDF + 3D PNG per container
curl -X POST https://kubova.com/api/v1/report \
  -H "Authorization: Bearer kbv_..." \
  -H "Content-Type: application/json" \
  -d '{ "cargos": [...], "container": {...}, "format": "json" }'

# Binary response: a single combined PDF
curl -X POST "https://kubova.com/api/v1/report?format=binary" \
  -H "Authorization: Bearer kbv_..." \
  -H "Content-Type: application/json" \
  -d '{ "cargos": [...], "container": {...} }' \
  --output kubova-report.pdf

Requiere el scope report en la clave. Las claves nuevas vienen con pack y report.

Rate limits y timeouts

  • 60 peticiones por minuto por clave por defecto (configurable por clave bajo demanda).
  • Pack timeout a los 290 segundos. Cubre toda la carga que hemos visto; el patrón asíncrono llega cuando usuarios reales lleguen al techo.
  • Cada clave tiene un set de scopes (pack, report). /pack necesita el scope pack.
  • Acceso API disponible en plan Pro y superior.

Códigos de error

ErrorHTTPSignificado
missing_bearer_token401No se envió header Authorization.
invalid_token401El token no coincide con ninguna clave activa.
token_revoked401La clave fue revocada desde el panel.
token_expired401La clave pasó su fecha de expiración.
scope_missing:pack403La clave no tiene el scope requerido.
rate_limit_exceeded429Más de 60 peticiones en el último minuto.
upstream_unreachable502El servicio de packing no estaba disponible. Reintenta tras backoff.