Os elos de uma integração entre Magento e ERP

Quase toda integração tem três elos, mesmo quando parece uma coisa só:

  1. 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.
  2. 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.
  3. 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

SintomaPrimeiro pontoSe ali estiver certo
Pedido não chegou no ERPo pedido existe no admin com o status que dispara o envio no conectorlog do conector: a chamada saiu e qual resposta voltou
Estoque ou preço parado na lojao ERP mudou o valor e o conector registrou o envio com resposta de sucessodentro do Magento: indexador pendente, cron parado ou cache servindo a página antiga
Preço diferente entre ERP e lojaem qual escopo o conector grava (padrão, site ou visão de loja) e se há regra de preço ativaindexador de preço e cache
Pedido duplicado no ERPo conector reenviou depois de um tempo esgotado sem conferir se o pedido já existialog 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/report no horário da falha, com o número do registro.

O que o código HTTP da chamada diz sobre o responsável

CódigoO que significaNa integração com MagentoQuem acionar
401a requisição não tem credencial válidano 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 recursoquem administra a integração no admin e o fornecedor do conector
403o servidor entendeu e recusoua 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 webhospedagem ou CDN de quem respondeu
429requisições demais num intervaloo conector chamou mais rápido do que o limite de quem respondeu, seja a API do ERP, a CDN ou uma regra de limitaçãofornecedor do conector, para espaçar as chamadas
5xxerro no servidor que respondeuveja qual endereço respondeu: se foi a loja, há relatório de exceção; se foi o ERP, o problema é do lado deledono 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 confirmadaProvável responsávelDado para mandar
a chamada nem saiu do conectorfornecedor do conectorhorário, número do pedido e trecho do log
a loja respondeu 401quem administra a loja, junto com o conectorhorário, endereço chamado e corpo da resposta
o ERP recebeu e rejeitoufornecedor do ERP ou quem cuida do cadastronúmero do pedido e mensagem de rejeição
a loja respondeu 5xx, ou cron e filas paradossuporte da lojahorário e número do relatório em var/report
pedido duplicadofornecedor do conectoros 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 rodando

Com 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

  1. REST APIs (Adobe Developer)
  2. Token-based authentication (Adobe Developer)
  3. Manage message queues (Adobe Experience League)
  4. Magento Open Source 2.4.4 release notes (integration tokens) (Adobe Experience League)
  5. RFC 9110: HTTP Semantics (RFC Editor)
  6. RFC 6585: Additional HTTP Status Codes (RFC Editor)

Outros artigos

Ver todos os artigos

Precisa de um orçamento? Ficarei feliz em ajudar. Clique aqui