Kubova.
EntrarComeçar
Início

API REST do Kubova

Embale contêineres a partir de qualquer linguagem. Autenticação Bearer, entrada JSON / saída JSON.

Procurando pela configuração do MCP? Leia o guia do MCP

Autenticação

Cada requisição precisa de uma chave de API no cabeçalho Authorization:

Authorization: Bearer kbv_abc123...

Gere chaves a partir do painel assim que estiver no plano Pro.

Gerenciar chaves de API

Verificar uma chave

Use o endpoint /me para confirmar se sua chave é válida antes de enviar requisições de embalagem:

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

Embalar contêineres

POST para /api/v1/pack com as cargas e um contêiner. O compactador retorna os posicionamentos por contêiner, volume utilizado e quaisquer peças não acomodadas.

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
    }
  }'

Em caso de sucesso, retorna ok=true com result.containers e result.unplaced. Em caso de erro, retorna ok=false com uma string de erro.

Gerar um relatório em PDF

POST para /api/v1/report com o mesmo formato de corpo de /pack. format=json retorna o PDF em base64 + PNG 3D por contêiner; format=binary transmite um único PDF combinado que você pode salvar diretamente.

# 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

Necessita do escopo report na chave. Novas chaves vêm com pack e report.

Limites de taxa e tempos limite

  • Padrão de 60 requisições por minuto por chave (configurável por chave sob solicitação).
  • As requisições de embalagem expiram após 290 segundos. Isso cobre todas as cargas de trabalho que vimos até agora; o padrão de trabalho assíncrono será implementado quando os usuários reais começarem a atingir o limite.
  • Cada chave possui um conjunto de escopos (pack, report). O endpoint /pack precisa do escopo pack.
  • O acesso à API está disponível no plano Pro e superiores.

Códigos de erro

ErroHTTPSignificado
missing_bearer_token401Nenhum cabeçalho Authorization foi enviado.
invalid_token401O token não corresponde a nenhuma chave ativa.
token_revoked401A chave foi revogada no painel.
token_expired401A chave passou da data de expiração.
scope_missing:pack403A chave não possui o escopo necessário.
rate_limit_exceeded429Mais de 60 requisições no último minuto.
upstream_unreachable502O serviço de embalagem estava inacessível. Tente novamente após um tempo de espera.