OnBlox API de Integração
OnBlox API de Integração
https://.onblox.app.br
Referência da API · Integração ERP ↔ WMS

API de Integração OnBlox

Envie cadastros e documentos do seu ERP para o OnBlox WMS: produtos, embalagens, clientes, fornecedores, motoristas, veículos, pedidos de venda, cargas e notas fiscais de entrada.

A API segue o estilo REST, recebe e devolve JSON em UTF-8 e usa os códigos HTTP padrão. Cada chamada de envio recebe um lote, isto é, uma lista de registros. O WMS cria ou atualiza cada registro pelo código de integração que o seu sistema atribuiu a ele. Um registro com problema não impede a gravação dos outros, e a resposta informa o que entrou e o que foi recusado, item a item.

Autenticação por token

Um cabeçalho X-API-Token por requisição, sempre em HTTPS. Cada token tem permissão e validade próprias.

Gravação previsível

No modo Estrito, campo ausente mantém o valor atual, campo vazio limpa e referência inexistente recusa o registro.

Resultado por item

Contadores de sucesso e erro, a mensagem de cada falha e a posição do item com falha no lote enviado.

Rastreável

Toda resposta traz o cabeçalho X-Correlation-Id. Informe esse código ao suporte para localizar a requisição.

Versão do documento 2026.10Atualizado em 20/10/2026Formato JSON · UTF-8

Início rápido

São três passos até o primeiro lote gravado. Use uma instância de homologação enquanto desenvolve.

  1. Gere um token no WMS

    Um usuário administrador da sua empresa acessa Configurações de Conta → API → Tokens e gera um token com permissão Leitura e escrita e modo de gravação Estrito. O valor começa com onbx_ e aparece uma única vez. Guarde-o num cofre de segredos.

  2. Confirme a conexão

    Consulte as referências da instância. A resposta 200 confirma que o token, o subdomínio e o HTTPS estão corretos. Confira também se modoGravacao veio ESTRITO.

  3. Envie o primeiro lote

    Comece pelo topo da hierarquia de cadastros, por exemplo um departamento. Confira sucesso e erro na resposta.

URL base e ambientes

Cada empresa cliente tem a sua própria instância do OnBlox, identificada pelo subdomínio. Todas as rotas desta documentação partem de:

URL base

Troque suaempresa pelo subdomínio informado pela OnBlox. O campo Sua instância, no topo da página, atualiza todos os exemplos.

Uma instância, um banco de dados

O token só vale na instância em que foi gerado. O token do cliente A enviado ao subdomínio do cliente B é recusado como inválido. Se você atende vários clientes OnBlox, guarde um token por instância.

A OnBlox informa a URL da instância de homologação na liberação do acesso. Use os mesmos caminhos nela e em produção.

Autenticação

Envie o token no cabeçalho X-API-Token de toda requisição. Não há fluxo de login nem renovação de sessão: o token é a credencial.

Cabeçalhos obrigatórios
X-API-Token: onbx_•••••••••••••••••••••••••••••••••••••••••••
Content-Type: application/json
  • HTTPS obrigatório. Requisições em HTTP simples são recusadas com 401 e a mensagem Esta API exige HTTPS.
  • Formato: onbx_ seguido de 43 caracteres (48 no total). O WMS guarda apenas o hash do token. Se o valor for perdido, gere outro.
  • Dono: o token pertence ao usuário que o gerou. Se esse usuário for desativado, o token deixa de funcionar. Prefira um usuário técnico dedicado à integração.

Permissão do token

PermissãoO que permite
Somente leituraApenas a consulta GET /integracao/referencias. Qualquer envio responde 403. É o padrão ao gerar um token.
Leitura e escritaConsultas e todos os envios de cadastros, documentos e exclusões. É a permissão que uma integração de ERP precisa.

Modo de gravação do token

Gere o token com o modo de gravação Estrito, o modo descrito nesta documentação: atualização parcial, referência não encontrada recusa o registro, erros citam o código de integração e exclusões vindas do ERP são aceitas. Veja Modo de gravação Estrito. Para conferir o modo de um token, consulte Referências: o campo modoGravacao deve vir ESTRITO.

Validade, rotação e revogação

  • A validade é definida em dias na geração. Zero significa sem vencimento. Recomendamos de 180 a 365 dias.
  • Cada usuário pode ter até 5 tokens ativos. Gerar um token novo não revoga os anteriores, então a troca pode ser feita sem parar a integração: gere o novo, publique-o no seu sistema e revogue o antigo.
  • Token revogado ou vencido responde 401, cada caso com a sua mensagem (Token de API revogado… e Token de API vencido…).
Proteja o token como uma senha

Nunca grave o token em código-fonte, em log ou em URL, e nunca o use em aplicação que roda no navegador ou no celular do usuário. A chamada deve partir do seu servidor. Se houver suspeita de vazamento, revogue o token imediatamente no WMS.

Lotes e código de integração

Todo envio recebe um array JSON, mesmo quando há um só registro. O WMS processa os itens um a um, na ordem recebida.

  • Código de integração (integracao): é a chave do registro no seu ERP, como código do produto, CODEMP ou NUNOTA. O WMS procura um registro com esse código. Se encontrar, atualiza; se não, cria. Use um valor estável, que nunca muda para o mesmo registro.
  • Upsert idempotente: enviar o mesmo lote duas vezes produz o mesmo resultado. Por isso é seguro reenviar depois de um timeout ou de uma falha de rede.
  • Referências: para ligar um registro a outro, informe o código de integração do registro ligado, por exemplo familiaIntegracaoId no produto ou clienteIntegracaoId no pedido. Os ids internos do WMS só são necessários para filiais e tipos de distribuição, obtidos em Referências.
  • Lote vazio ([]) responde 200 com sucesso: 0.
  • Campos desconhecidos são ignorados. O WMS não recusa o lote por um campo a mais.

Modo de gravação Estrito

No modo Estrito, a atualização parte do registro já gravado no WMS. Cada campo do JSON segue esta política:

No JSONEfeito no WMS
Campo ausenteMantém o valor atual.
null, "" ou só espaçosLimpa o valor, quando o campo permite ficar vazio.
Valor preenchidoSubstitui o valor atual. Textos são gravados sem espaços nas pontas.
Campo obrigatório enviado vazioRecusa o registro: O campo <campo> é obrigatório no WMS e não pode ser enviado vazio.
Referência com código não encontradoRecusa o registro: Erro de mapeamento: <referência> <código> não encontrado(a) no WMS.
Referência enviada vaziaDesfaz o vínculo, quando a referência é opcional.

Na prática, envie só o que mudou ou o registro completo, como for mais simples para o seu ERP. Os dois funcionam. Só não envie null num campo que você não quer apagar.

Listas filhas são substituídas por inteiro

Os itens de pedido (listaItem), os itens de nota fiscal e a lista de fornecedores do produto, quando enviados, substituem a lista gravada. Envie sempre a lista completa.

Ordem de envio

Uma referência só é resolvida se o registro referenciado já existir no WMS. Envie primeiro os cadastros dos quais os outros dependem:

Departamento→Seção→Família→Produto→Tipo de embalagem→Embalagem
Cliente·Fornecedor / Transportadora→Pedido de venda·Nota fiscal de entrada
Carga→Pedido de venda com cargaIntegracaoId
Motorista→Veículo

Na carga inicial, envie cada cadastro completo antes de começar os documentos. Depois disso, envie apenas o que mudou no ERP, em intervalos curtos.

Formatos de dados

TipoFormatoExemplo
DataISO 8601, AAAA-MM-DD"2026-10-20"
DecimalNúmero JSON com ponto decimal, sem separador de milhar1250.75
Sim ou nãoTexto "S" ou "N""controleLote": "S"
CPF / CNPJTexto. Prefira enviar só os dígitos."61405999000224"
UFSigla com 2 letras maiúsculas"GO"
CEPNúmero inteiro, sem hífen74800000
PlacaTexto. Hífen e espaços são removidos e as letras viram maiúsculas."ABC1D23"
MedidasMetros (altura, largura, comprimento) e quilos (peso)0.35

Resposta do lote

Todo envio devolve o mesmo objeto de resultado:

CampoTipoDescrição
sucessointeiroRegistros gravados ou deixados sem alteração por já estarem iguais.
errointeiroRegistros recusados.
listaErrotexto[]Uma mensagem por registro recusado, legível por pessoas. No modo Estrito, cada mensagem cita o código de integração do registro.
codigoOcorrenciatextoOpcional. Aparece quando há erro e identifica o lote nos registros da OnBlox.
referenciasErroobjeto[]Opcional. Para cada mensagem de listaErro: indice (posição em listaErro, a partir de 0), posicao (posição do registro no lote enviado, a partir de 1) e referencia (CODIGO#posição).
bodytextoReservado. Normalmente null.
200 OK · lote com um registro recusado
Status 200 não quer dizer que tudo foi gravado

Falha num registro não muda o status HTTP do lote. Sempre leia erro e listaErro. Use referenciasErro[].posicao para saber qual registro reenviar. Não faça parse do texto das mensagens: ele é destinado a pessoas e pode ganhar detalhes.

Códigos HTTP e erros

StatusQuandoO que fazer
200Lote processado. Pode haver registros recusados.Leia erro e listaErro. Corrija e reenvie só os recusados.
400Lote acima do limite de itens ou parâmetro inválido. Nada foi gravado.Divida o lote. Não reenvie sem corrigir.
401Token ausente, inválido, vencido ou revogado, dono desativado ou requisição sem HTTPS.Veja message. Não reenvie em loop: o resultado não muda sem ação humana.
403Token somente leitura tentando enviar, ou token gerado fora do modo Estrito chamando a exclusão.Gere um token com a permissão ou o modo corretos.
429Limite de requisições excedido.Aguarde e reenvie com espera exponencial.
500Falha inesperada ao processar o lote inteiro.Reenvie com espera exponencial. Se persistir, acione o suporte com o X-Correlation-Id.
501Rota não implementada (/notafiscal/saida).Não use esta rota.
502 503 504Instância indisponível ou em atualização.Reenvie com espera exponencial.

Erro de autenticação ou permissão

As respostas 401 e 403 trazem um objeto de erro. Use codigo para tratar o caso no seu sistema e message para exibir.

401 Unauthorized
codigoStatusMensagens possíveis
NAO_AUTENTICADO401Token de API ausente. Informe o cabeçalho X-API-Token. · Token de API inválido. · Token de API revogado. Gere um novo token no WMS. · Token de API vencido. Gere um novo token no WMS. · O usuário dono deste token está desativado. · Esta API exige HTTPS.
ACESSO_NEGADO403Este token é somente de leitura e não pode executar POST.

O objeto pode trazer outros campos. Ignore os campos que você não conhece.

Rastreamento

Toda resposta traz o cabeçalho X-Correlation-Id. Você pode enviar o seu próprio valor nesse cabeçalho (8 a 64 caracteres entre letras, números e . _ : -) para casar os logs do seu sistema com os da OnBlox. Se o valor não seguir esse formato, o WMS gera um novo. Registre esse código em todo envio com erro.

Limites

LimiteValorAo exceder
Registros por lote1.000 (padrão, pode ser ajustado por instância)400 Lista excede o tamanho máximo permitido de N itens. Nada é gravado.
Requisições por segundoLimite compartilhado da instância429 Limite de requisições excedido…
Lotes simultâneos do mesmo recurso1 por vez em cada rotaO segundo lote é recusado com Já existe uma requisição sendo processada para este endpoint…

Lotes de 100 a 500 registros costumam equilibrar o volume enviado e o tempo de resposta. Envie os lotes de uma mesma rota em sequência. Rotas diferentes podem ser chamadas em paralelo, respeitando a ordem de dependências.

Retentativas e boas práticas

  • Reenvie com espera exponencial em 429, 500, 502, 503, 504 e em falhas de rede: 1 s, 2 s, 4 s, 8 s… até 5 minutos, com uma variação aleatória somada a cada espera. Como o envio é idempotente pelo código de integração, reenviar o lote inteiro é seguro.
  • Não reenvie automaticamente 400, 401 e 403. Esses casos exigem correção no lote ou no token.
  • Timeout do cliente: use pelo menos 120 segundos. O lote é processado durante a requisição, e um lote grande pode levar alguns segundos.
  • Registros recusados: guarde a mensagem e a posição, corrija a causa (normalmente uma referência que ainda não foi enviada) e reenvie só esses registros.
  • Envio por mudança: depois da carga inicial, envie apenas o que mudou no ERP. Evite reenviar o cadastro inteiro a cada ciclo.
  • Logs: registre data e hora, rota, quantidade de itens, sucesso, erro e X-Correlation-Id de cada lote. Nunca registre o token.
  • Exclusões no ERP: avise o WMS pela rota Exclusões em vez de deixar o registro esquecido.

Especificação OpenAPI

A especificação OpenAPI 3 da API de integração fica disponível na própria instância e pode ser importada no Postman, no Insomnia ou num gerador de cliente:

OpenAPI

Em caso de divergência, vale o comportamento descrito nesta página. Use apenas as rotas documentadas aqui.

Suporte e homologação

  • Homologação: desenvolva e teste numa instância de homologação fornecida pela OnBlox. Antes de ir para produção, valide a carga inicial completa, um ciclo de alterações, uma exclusão e o tratamento de um registro recusado.
  • Ao abrir um chamado, informe a instância, a rota, a data e hora, o X-Correlation-Id e, quando houver, o codigoOcorrencia e a referencia do item. Não envie o token.
  • Mudanças no contrato: a OnBlox só acrescenta campos e rotas. Campo ou rota que deixar de existir será avisado com antecedência. Programe o seu cliente para ignorar campos novos na resposta.