Skip to main content

Outbox

Toda mensagem que sai de um canal de HTTP Sender passa por uma fila persistente chamada outbox. Essa fila guarda cada tentativa de envio com seu metadado completo (request, response, tentativas, status) e permite operações de inspeção e recuperação quando algo falha — sem que você precise reenviar a mensagem do zero pelo seu sistema.

Por que existe?

O outbox resolve dois problemas operacionais comuns em integrações HTTP:
  • Audit log — você precisa saber, para cada mensagem despachada, o que foi enviado, qual foi a resposta do servidor de destino, quantas tentativas houve e em qual estado a entrega ficou. O outbox guarda tudo isso por canal, indexado por mensagem.
  • Recovery sem replay — quando o destino fica fora do ar e o envio falha, geralmente a mensagem original já foi consumida da sua fila/banco local. Sem o outbox, você precisaria reproduzir a mensagem do zero para reenviar. Com o outbox, basta reenfileirar a entrada existente.
O outbox é específico de canais que entregam via HTTP (HTTP Sender). Canais de WhatsApp têm seu próprio mecanismo de entrega e retransmissão interno, gerenciado pelo provedor.

Como uma mensagem entra no outbox

Quando você envia uma mensagem por um canal de HTTP Sender:
1

Envio inicial

A mensagem é registrada no outbox com status pendente e despachada para o destino HTTP.
2

Resposta do destino

A entrada é atualizada com o request, a resposta capturada (status, headers, body) e a duração.
3

Sucesso ou erro

Sucesso confirma a entrega. Erros são contados e a entrada permanece em estado recuperável até atingir o limite de tentativas.
4

Falha permanente

Se o limite de tentativas é atingido, a entrada vai para um estado terminal — não é mais reenfileirada automaticamente, mas continua disponível para inspeção e reenvio manual.

Operações disponíveis

Listar mensagens no Outbox

Lista as entradas do outbox de um canal, com filtros por status e período.

Detalhes da mensagem

Inspeciona request, response e tentativas de uma entrada específica.

Reenviar mensagens

Reenfileira mensagens em estado de erro (até atingir o limite de tentativas).

Cancelar mensagem

Cancela mensagens pendentes que ainda não foram entregues.

Resolução do canal de feedback

Os endpoints do outbox recebem o channelId do canal de origem (ex: WhatsApp) e resolvem automaticamente o canal de feedback (HTTP) associado.
Você não precisa conhecer o ID do canal de feedback diretamente — sempre passe o ID do canal de origem (WhatsApp) e a plataforma resolve o feedback associado. Se o canal não tem um feedback configurado, a API retorna 400 Bad Request.

Quando usar

O servidor de destino ficou indisponível por algumas horas. Liste as entradas em estado de erro do período e reenvie em lote.
O cliente relata que não recebeu uma notificação. Inspecione a entrada correspondente para ver o request enviado, a resposta retornada e o histórico de tentativas.
Uma mensagem ficou presa esperando o destino voltar, mas o conteúdo já não é mais relevante. Cancele a entrada para evitar entrega tardia.
Mesmo sem incidentes, o outbox serve como fonte de verdade do que foi efetivamente despachado — útil para conciliação contábil, suporte e análise de comportamento.