Pular para o conteúdo principal

Introdução

Recebimento de notificações

Quando eventos ocorrem em sua conta (pagamentos recebidos, transferências completadas, etc.), a Moneyguard envia notificações automáticas para a URL configurada no seu webhook.

Toda a comunicação deve ser criptografada via SSL/HTTPS.

A aplicação cliente deve enviar um cabeçalho de Autorização HTTP contendo o token gerado a cada solicitação.

Como funciona

  1. Evento ocorre- Ex: um QR Code PIX e pago
  2. Notificação enviada - Moneyguard envia POST para sua URL
  3. Confirmação - Seu sistema retorna HTTP 2XX
  4. Retentativa (se necessário) - Em caso de falha, tentamos novamente
HTTP Headers - Exemplo:
Content-Type: application/json
Accept: application/json
User-Agent: Moneyguard-Webhook/1.0
Authorization: {authorization_configurado}
informação

O header Authorization só e enviado se você configurou um valor no campo authorization do webhook.

Respostas esperadas

Seu endpoint deve retornar um código HTTP da família 2XX (200, 201, 202, etc.) para confirmar o recebimento bem-sucedido da notificação.

Exemplos de respostas aceitas

CÓDIGOMENSAGEM
200Ok
200Created
200Accepted
200No Content

Timeout: Sua resposta deve ser enviada em até 15 segundos. Após esse tempo, consideramos a entrega como falha.

aviso

Processe a notificação de forma assíncrona. Receba o webhook, salve em uma fila/banco de dados, retorne 200 imediatamente, e processe depois. Isso evita timeouts

Estratégia de retentativa

Caso a entrega falhe (timeout, erro de conexão, ou código HTTP diferente de 2XX), a Moneyguard tentara reenviar a notificação automaticamente.

Politica de Retentativa com Backoff Exponencial (Fibonacci)

TENTATIVAINTERVALOTEMPO ACUMULADO
1Imediato0
21 minuto1 min
32 minutos3 min
43 minutos6 min
55 minutos11 min
68 minutos19 min
713 minutos32 min
821 minutos53 min
934 minutos1h 27 min
1055 minutos2h 22 min
  • Total de tentativas: 10
  • Tempo máximo de retentativa: Aproximadamente 2 horas e 22 minutos
  • Status final: Após 10 tentativas falhas, a notificação e marcada como error

Tratamento de erros

A Moneyguard registra cada tentativa de entrega com os seguintes dados:

Códigos de Status HTTP

TIPO DE ERRODESCRIÇÃO
HTTP 4XX/5XXSeu servidor retornou erro
Connection RefusedNão foi possível conectar ao seu servidor
Connection ErrorErro de rede ou host inacessível
Timeout Erroresposta não recebida em 15 segundos
SSL ErrorProblema com certificado SSL/TLS
Invalid URLURL configurada e invalida

Boas Práticas para Recebimento de Webhook

  1. Responda rápido: Retorne 200 imediatamente e processe depois
  2. Idempotencia: Seu sistema deve lidar com notificações duplicadas
  3. Use client_ref: Para identificar a transação no seu sistema
  4. Valide o Authorization: Verifique o header se configurou um token
  5. Logs: Registre todas as notificações recebidas para auditoria
  6. SSL válido: Use certificado SSL válido (não auto assinado em produção)