Reenviar webhook de transação
POST /api/resend-webhook/{transactionIdentifier}
POST https://<api-host>/api/resend-webhook/{transactionIdentifier}Requer um Bearer token no header Authorization. Veja Gerar Token para obter um.
Reenvia o webhook de uma transação específica para a(s) URL(s) configurada(s) ou para uma URL temporária (override).
O identificador da transação pode ser:
- ID numérico da transação: O ID retornado pela Gateways (campo
transactionIdnos webhooks) - Seu ID de referência: O identificador que você forneceu ao criar a transação (
externalId) - End-to-End ID do PIX: O
e2eIdretornado nos webhooks (formato: E/D + 32 chars)
Autenticação
Requer token Bearer no header Authorization.
Path Parameters
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
transactionIdentifier | string | Sim | Identificador da transação: id numérico, externalId ou endToEndId |
Request Body (opcional)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
url | string | Não | URL temporária para este reenvio específico. Se não fornecida, o reenvio vai para todas as URLs ativas configuradas para o evento. Com URL informada, usa os headers e a versão de payload da primeira URL ativa do evento. A URL não é persistida |
{
"url": "https://meu-servidor.com/webhooks/pix"
}Comportamento de URL
- Se
urlnão for fornecido, o reenvio é enviado para todas as URLs ativas configuradas para o evento, cada uma com seus próprios headers customizados e versão de payload - Se
urlfor fornecido no body, usa essa URL temporariamente (não persiste), com os headers customizados e a versão de payload da primeira URL ativa configurada para o evento - Se nenhuma URL estiver disponível, retorna erro 400
O reenvio passa pelo mesmo pipeline do envio original: o payload é reconstruído a partir do estado atual da transação e assinado com o secret HMAC atual da conta no header X-Avista-Signature (enquanto a chave de assinatura não for gerada no painel, o reenvio sai sem esse header).
Exemplos de Código
curl -X POST "https://<api-host>/api/resend-webhook/PAG-2024-0001" \
-H "Authorization: Bearer $PIX_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"url": "https://meu-servidor.com/webhooks/pix"
}'const axios = require('axios');
const response = await axios.post('https://<api-host>/api/resend-webhook/PAG-2024-0001',
{
"url": "https://meu-servidor.com/webhooks/pix"
},
{
headers: {
'Authorization': `Bearer ${process.env.PIX_API_TOKEN}`,
'Content-Type': 'application/json',
},
}
);
console.log(response.data);Response (200)
| Campo | Tipo | Descrição |
|---|---|---|
message | string | Mensagem descritiva do resultado |
webhookLogId | number | ID do log de webhook gerado para auditoria |
sentAt | string | Data/hora do envio do webhook (ISO 8601) |
statusCode | number | Código de status HTTP retornado pela URL de destino |
{
"message": "Webhook resent successfully",
"webhookLogId": 12345,
"sentAt": "2024-01-15T10:30:00.000Z",
"statusCode": 200
}Erros
| Status | Descrição |
|---|---|
| 400 | Nenhuma URL de webhook disponível. Configure um webhook para o tipo de operação desta transação ou forneca uma URL temporária no campo url |
| 401 | Token inválido, expirado ou não fornecido |
| 404 | Transação não encontrada ou não pertence a conta autenticada |
| 429 | Limite de 60 requisições por minuto por conta excedido. Aguarde a janela renovar (header Retry-After) |
| 502 | A URL de destino respondeu com status fora de 2xx. O corpo traz message, webhookLogId e sentAt |
| 504 | A URL de destino não respondeu em 10 segundos. O corpo traz message, webhookLogId e sentAt |