Autenticação
Toda chamada é autenticada com uma chave de API. Crie a sua no painel em Integrações → Nova integração → Chave de API e envie-a no header de cada requisição:
Authorization: Bearer kbx_sua_chave_aqui
A chave enxerga apenas os dados da sua empresa (lojas, produtos e etiquetas). Você pode revogá-la ou desativá-la a qualquer momento no painel.
Comece em 2 minutos
- Crie uma chave de API no painel (Integrações → Nova integração → Chave de API).
- Teste a conexão:
# deve responder {"ok":true,...} curl https://api-esl.kubmix.com/api/v1/ping \ -H "Authorization: Bearer kbx_sua_chave"
- Envie um preço — a etiqueta vinculada ao produto sincroniza automaticamente:
curl -X POST https://api-esl.kubmix.com/api/v1/prices \ -H "Authorization: Bearer kbx_sua_chave" \ -H "Content-Type: application/json" \ -d '[{ "sku": "7891000100103", "price": 8.99 }]'
Endpoints
Clique em um endpoint para ver parâmetros, corpo, retornos e testá-lo em tempo real com a sua chave.
Webhooks
Para receber eventos no seu sistema (em vez de consultar a API), cadastre um webhook no painel em Integrações. Enviamos um POST JSON com o header opcional X-Kubmix-Secret para você validar a origem:
{ "event": "price.updated", "timestamp": "2026-07-13T21:04:11Z",
"data": { "source": "public-api", "products": 12 } }
| Evento | Disparado quando |
|---|---|
label.down | uma etiqueta para de responder ou entra em erro |
gateway.down | um gateway fica offline |
product.updated | produtos são criados/alterados pela API |
price.updated | preços ou ofertas mudam pela API ou por conectores |
order.created / order.shipped / order.delivered | um pedido de etiquetas é criado, despachado ou entregue |
Limites e erros
Limite de 120 requisições por minuto por chave. Acima disso a API responde 429. Lotes: 500 produtos ou 1000 preços/ofertas por chamada.
Erros voltam sempre como JSON com a chave error; em lotes, o array errors detalha item a item o que não foi aceito:
{ "updated": 8, "errors": [ "item 3: sku \"XYZ\" não encontrado" ], "syncJob": { "id": 43, "labels": 8 } }
| Status | Significado |
|---|---|
401 | chave ausente, inválida ou desabilitada |
400 | payload inválido (detalhe no corpo) |
429 | limite de requisições atingido — aguarde 1 minuto |
5xx | erro interno — tente de novo com backoff |