Os elos de uma integração entre Magento e ERP
Quase toda integração tem três elos, mesmo quando parece uma coisa só:
- A loja Magento: gera o pedido, guarda estoque e preço e expõe a API REST. Depende do cron e das filas de mensagens para as tarefas agendadas e assíncronas.
- O conector: uma extensão instalada na loja, um middleware ou hub externo, ou um serviço do próprio ERP. É quem chama a API de um lado e do outro, com agenda, fila e log.
- O ERP: recebe o pedido, valida cadastro e dados fiscais e devolve estoque, preço, status e rastreio.
Cada elo costuma ter um dono diferente: a agência ou o suporte da loja, o fornecedor do conector e o fornecedor do ERP. Por isso a primeira pergunta não é quem errou, e sim até onde o dado chegou.
Pedido não chega no ERP ou estoque não atualiza: onde olhar
| Sintoma | Primeiro ponto | Se ali estiver certo |
|---|---|---|
| Pedido não chegou no ERP | o pedido existe no admin com o status que dispara o envio no conector | log do conector: a chamada saiu e qual resposta voltou |
| Estoque ou preço parado na loja | o ERP mudou o valor e o conector registrou o envio com resposta de sucesso | dentro do Magento: indexador pendente, cron parado ou cache servindo a página antiga |
| Preço diferente entre ERP e loja | em qual escopo o conector grava (padrão, site ou visão de loja) e se há regra de preço ativa | indexador de preço e cache |
| Pedido duplicado no ERP | o conector reenviou depois de um tempo esgotado sem conferir se o pedido já existia | log de tentativas com horário de cada envio |
Pontos de verificação dentro do Magento
- Integração ativa: em Sistema > Extensões > Integrações (System > Extensions > Integrations no admin em inglês) aparece o status de cada integração. Atenção ao botão de reautorizar: ele apaga o token atual e gera outro, e o conector precisa receber as credenciais novas.
- Cron e filas: a Adobe documenta o cron como o mecanismo padrão que reinicia os consumidores das filas. Na configuração padrão, cron parado é fila parada. A lista de consumidores sai de
bin/magento queue:consumers:list. - Relatórios de erro: exceção registrada em
var/reportno horário da falha, com o número do registro.
O que o código HTTP da chamada diz sobre o responsável
| Código | O que significa | Na integração com Magento | Quem acionar |
|---|---|---|---|
| 401 | a requisição não tem credencial válida | no código da 2.4.8-p4, a API REST responde 401 tanto para token inválido quanto para token sem permissão no recurso, com a mensagem "The consumer isn't authorized to access" seguida do recurso | quem administra a integração no admin e o fornecedor do conector |
| 403 | o servidor entendeu e recusou | a API REST do Magento não usa 403 para permissão; ele costuma vir de outra camada, como firewall de aplicação, CDN ou regra do servidor web | hospedagem ou CDN de quem respondeu |
| 429 | requisições demais num intervalo | o conector chamou mais rápido do que o limite de quem respondeu, seja a API do ERP, a CDN ou uma regra de limitação | fornecedor do conector, para espaçar as chamadas |
| 5xx | erro no servidor que respondeu | veja qual endereço respondeu: se foi a loja, há relatório de exceção; se foi o ERP, o problema é do lado dele | dono do servidor que respondeu |
Os significados são os das especificações HTTP (RFC 9110 e, para o 429, RFC 6585). A coluna do Magento é o que muda a conversa: 401 na loja quase nunca é problema do ERP.
Token de integração do Magento expirou?
Pela documentação da Adobe, token de integração não expira: dura até ser revogado. Token de administrador dura 4 horas por padrão e o de cliente, 1 hora. Quando alguém diz que o token expirou, normalmente é uma destas situações:
- o conector entra com usuário de administrador em vez de integração e não renova o token a cada 4 horas;
- o conector usa o token de integração sozinho, como Bearer. Desde a 2.4.4 isso vem desligado por padrão e só funciona com a opção Allow OAuth Access Tokens to be used as standalone Bearer tokens ativa, então quem atualizou de uma versão anterior costuma tropeçar aqui;
- a integração foi reautorizada e o conector continua com o token antigo, que foi apagado.
Ligar a opção de Bearer resolve rápido, mas a Adobe não recomenda: um token que nunca expira e vaza dá acesso persistente sem ninguém perceber. O caminho certo é o conector assinar as chamadas com as quatro credenciais OAuth da integração.
Quem é responsável pela integração e o que mandar no chamado
| Situação confirmada | Provável responsável | Dado para mandar |
|---|---|---|
| a chamada nem saiu do conector | fornecedor do conector | horário, número do pedido e trecho do log |
| a loja respondeu 401 | quem administra a loja, junto com o conector | horário, endereço chamado e corpo da resposta |
| o ERP recebeu e rejeitou | fornecedor do ERP ou quem cuida do cadastro | número do pedido e mensagem de rejeição |
| a loja respondeu 5xx, ou cron e filas parados | suporte da loja | horário e número do relatório em var/report |
| pedido duplicado | fornecedor do conector | os dois números no ERP e o horário de cada envio |
Modelo de chamado:
Assunto: pedido 000012345 não chegou no ERP
Quando: 09/10/2026 14:32 (horário de Brasília)
Sintoma: pedido pago na loja, ausente no ERP
Última chamada: GET /rest/V1/orders?searchCriteria... -> 401
Resposta: The consumer isn't authorized to access Magento_Sales::actions_view.
Já conferido: integração ativa no admin, cron rodandoCom esse bilhete, quem recebe começa a investigar sem perguntar nada. Cron, filas e relatórios de erro também entram na rotina de manutenção preventiva, que pega boa parte dessas quebras antes do pedido sumir. Para revisar ou refazer uma integração, veja o que cobre o suporte Magento 2.
Perguntas frequentes
Por que o pedido não chega no ERP se aparece na loja Magento?
Porque o pedido na loja é só o primeiro elo. Confira se o conector envia pedidos naquele status, se a chamada saiu e qual resposta voltou. Se o ERP devolveu erro de validação, o ajuste é no cadastro ou no ERP; se a chamada nem saiu, é no conector.
Estoque não atualiza entre Magento e ERP: o que conferir primeiro?
Primeiro, se o ERP enviou o valor novo e a loja respondeu com sucesso. Se respondeu, o problema está dentro do Magento: indexador pendente, cron parado ou cache servindo a página antiga. Se a loja devolveu erro, o código HTTP indica se é credencial, limite ou servidor.
Quem é responsável pela integração da loja com o ERP?
Cada elo tem um dono: a loja fica com quem dá suporte ao Magento, o conector com quem o fornece e a validação interna com o fornecedor do ERP. O que resolve a discussão é deixar isso escrito no contrato antes da primeira falha e seguir o dado até o elo onde ele some.
Token de integração do Magento expira?
Pela documentação da Adobe, o token de integração dura até ser revogado. Expiram o token de administrador, em 4 horas por padrão, e o de cliente, em 1 hora. Se a integração parou depois de uma atualização, confira se o conector usava o token como Bearer, recurso desligado por padrão desde a 2.4.4.
Fontes oficiais
- REST APIs (Adobe Developer)
- Token-based authentication (Adobe Developer)
- Manage message queues (Adobe Experience League)
- Magento Open Source 2.4.4 release notes (integration tokens) (Adobe Experience League)
- RFC 9110: HTTP Semantics (RFC Editor)
- RFC 6585: Additional HTTP Status Codes (RFC Editor)