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.pdfNecessita 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
| Erro | HTTP | Significado |
|---|---|---|
| missing_bearer_token | 401 | Nenhum cabeçalho Authorization foi enviado. |
| invalid_token | 401 | O token não corresponde a nenhuma chave ativa. |
| token_revoked | 401 | A chave foi revogada no painel. |
| token_expired | 401 | A chave passou da data de expiração. |
| scope_missing:pack | 403 | A chave não possui o escopo necessário. |
| rate_limit_exceeded | 429 | Mais de 60 requisições no último minuto. |
| upstream_unreachable | 502 | O serviço de embalagem estava inacessível. Tente novamente após um tempo de espera. |