FolioPierEstudos de TI

Logs de integração, Enviado e Recebido

Nota 8 de 16 · 6 min de leitura
Nesta página
  1. O que significam Enviado e Recebido
  2. A mesma operação do começo ao fim
  3. O pedido, a resposta e o tempo
  4. Quando falta o par
  5. O resultado desconhecido
  6. O que levar ao fornecedor

Quando o caixa informa que uma operação não foi autorizada, a mensagem da tela nem sempre explica o que aconteceu. O fornecedor pode ter recusado o pedido, o programa pode ter falhado antes do envio ou pode ter desistido de esperar a resposta, e o log da integração permite reconstruir essa conversa e separar o que já se sabe do que ainda precisa de verificação.

O que significam Enviado e Recebido

Uma integração troca mensagens entre programas. O pedido, também chamado de requisição, informa a operação desejada e os dados necessários, e a resposta informa o resultado ou a etapa seguinte. Muitos programas registram essas mensagens com os marcadores Enviado e Recebido.

Esses nomes são convenções do programa que grava o log. Um Enviado pode ser gravado quando o programa prepara a mensagem, antes da transmissão, e um Recebido pode aparecer só depois de o programa ler e interpretar a resposta. Por isso, o significado exato dos dois precisa ser conhecido em cada sistema.

O Enviado mostra o pedido que o programa registrou e não prova, sozinho, que o fornecedor recebeu ou processou esse pedido. Da mesma forma, a falta do Recebido mostra que a resposta não foi encontrada no trecho analisado, e não que nenhuma resposta chegou ao programa.

A mesma operação do começo ao fim

Um log pode reunir as operações de vários caixas e várias tentativas da mesma operação, e duas linhas vizinhas não pertencem necessariamente à mesma conversa. Os campos que ligam o pedido à resposta são estes:

  • Identificador da operação: o código que acompanha aquele pedido, documento ou transação;
  • Terminal: o computador que iniciou a operação, como o caixa 01;
  • Tentativa: quando registrada, separa a chamada inicial das repetições;
  • Horário: delimita o período, com o fuso e a diferença entre os relógios considerados.

Nem todo log traz todos esses campos. A leitura usa os que existem e, quando a ligação entre as linhas não é segura, mantém essa dúvida na análise. Um horário compatível ajuda na busca, mas não substitui a identificação da operação.

O pedido, a resposta e o tempo

Duas linhas gravadas pelo programa do caixa 01 mostram uma conversa completa:

  • 2026-10-01 14:32:04.902 -03:00 [caixa 01] operacao=OP-0031 tentativa=1 Enviado: {"acao":"consultarBeneficio","produto":"PROD-012"}
  • 2026-10-01 14:32:05.611 -03:00 [caixa 01] operacao=OP-0031 tentativa=1 Recebido: HTTP=200 {"autorizado":false,"motivo":"Produto nao coberto"}

O identificador, o terminal e a tentativa ligam as duas linhas, e a leitura segue três perguntas:

  1. o que foi pedido: a consulta do benefício para o produto PROD-012;
  2. o que voltou: uma resposta HTTP com o código 200, com o campo autorizado em false e o motivo de produto não coberto, ou seja, a consulta teve resposta, e o benefício foi recusado;
  3. quanto tempo levou: 709 milissegundos entre os dois pontos de registro do mesmo programa, sem a separação entre a rede e o processamento do fornecedor.

O resultado técnico descreve a resposta da chamada, como o código HTTP ou uma exceção, e o resultado de negócio descreve o que aconteceu com a operação, como o benefício autorizado ou recusado. Os dois são lidos juntos, conforme o contrato da integração, que define o significado dos códigos e dos campos. Alguns serviços só confirmam o recebimento do pedido e informam o resultado final depois, e a primeira resposta, nesse caso, não encerra a operação.

Quando falta o par

Antes de concluir que não houve resposta, a leitura confere o período do arquivo, a integridade do trecho e a busca pela operação e pela tentativa certas. A resposta pode estar em outra parte do arquivo ou em outro registro da integração.

Um Enviado seguido de uma exceção pede a leitura da mensagem da exceção. Uma falha na resolução do nome do servidor é uma dificuldade diferente de um tempo esgotado à espera da resposta, e a presença ou a ausência do Enviado, sozinha, não localiza a etapa da falha:

  • 2026-10-01 10:15:00.000 -03:00 [caixa 01] operacao=OP-0032 tentativa=1 Enviado: {"acao":"preAutorizar"}
  • 2026-10-01 10:15:30.000 -03:00 [caixa 01] operacao=OP-0032 tentativa=1 ERRO: Tempo esgotado aguardando resposta (30000 ms)

O programa registrou uma tentativa e esgotou o prazo de espera pela resposta. O trecho não diz se o pedido chegou ao fornecedor nem se foi processado, e o fornecedor pode ter executado a operação sem que o programa recebesse a resposta.

O resultado desconhecido

Em uma operação que cria ou confirma algo, como uma venda, um pagamento ou uma pré-autorização, o resultado desconhecido pede cuidado. Uma nova tentativa pode criar uma duplicidade se a primeira já foi processada e a integração não impede a repetição. Antes de qualquer repetição, a situação é consultada pelo mecanismo previsto pelo fornecedor ou pelo procedimento daquela integração.

O registro separa o estado conhecido pelo programa do resultado no fornecedor. A frase "tentativa 1 terminada por tempo esgotado, situação no fornecedor ainda não consultada" é mais precisa que marcar a operação como recusada. Uma consulta que não localiza a operação também tem limites, como a chave usada e o período coberto, e um "não encontrado" em uma consulta inadequada não prova que nada aconteceu.

O que levar ao fornecedor

Para que o fornecedor localize a operação, o pedido de suporte reúne:

  • a data e o horário, com o fuso identificado;
  • a loja, o terminal e a operação solicitada;
  • os identificadores disponíveis, como o pedido, a transação, a autorização ou o código de rastreio;
  • o número e os horários das tentativas, quando registrados;
  • os trechos do pedido, da resposta e da exceção que existirem;
  • a descrição do que já foi observado e do que ainda não foi confirmado.

O contexto das mensagens fica preservado, inclusive quando elas ocupam várias linhas, e as senhas, os tokens e os dados sensíveis são mascarados antes do envio.

No suporte

A operação e a tentativa vêm antes da ligação entre o pedido e a resposta ou a exceção. Uma recusa explícita leva ao motivo informado, e um tempo esgotado à espera da resposta pede a conferência da situação da operação antes de qualquer repetição.

Para guardar

  • O significado do Enviado e do Recebido depende do programa que grava o log.
  • As mensagens são ligadas pela mesma operação e pela mesma tentativa, e a proximidade do horário não basta.
  • O resultado técnico e o resultado de negócio são lidos juntos, conforme o contrato da integração.
  • O tempo esgotado à espera da resposta não prova que o fornecedor deixou de processar o pedido.
  • Uma operação com resultado desconhecido tem a situação consultada antes de qualquer repetição.
O log registra o HTTP 200 e, no conteúdo, o campo autorizado em false, com o motivo de produto não coberto. Houve falha de comunicação?

Não. O trecho registra uma resposta à consulta e a recusa do benefício por um motivo de negócio, e a investigação começa pelo motivo informado, conforme o contrato do fornecedor. O código 200, sozinho, também não significaria um benefício autorizado, porque os campos da resposta definem o resultado.

Uma tentativa tem um Enviado às 10:15:00 e um tempo esgotado às 10:15:30, sem Recebido no trecho. Isso prova que a pré-autorização não foi processada?

Não. O programa não recebeu a resposta no prazo, e o processamento no fornecedor ainda não foi confirmado. Os registros completos da mesma operação e a consulta da situação, pelo mecanismo previsto na integração, vêm antes de qualquer nova tentativa.

Publicado a partir do Obsidian · FolioPier