docs

Reenviar webhook de transação

POST /api/resend-webhook/{transactionIdentifier}

POST https://api.fypay.me/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 FyPay (campo transactionId nos webhooks)
  • Seu ID de referência: O identificador que você forneceu ao criar a transação (externalId)
  • End-to-End ID do PIX: O e2eId retornado nos webhooks (formato: E/D + 32 chars)

Autenticação

Requer token Bearer no header Authorization.

Path Parameters

ParâmetroTipoObrigatórioDescrição
transactionIdentifierstringSimIdentificador da transação: id numérico, externalId ou endToEndId

Request Body (opcional)

CampoTipoObrigatórioDescrição
urlstringNãoURL 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/fypay"
}

Comportamento de URL

  • Se url nã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 url for 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
curl -X POST "https://api.fypay.me/api/resend-webhook/PAG-2024-0001" \
  -H "Authorization: Bearer $FYPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "url": "https://meu-servidor.com/webhooks/fypay"
}'
const axios = require('axios');

const response = await axios.post('https://api.fypay.me/api/resend-webhook/PAG-2024-0001',
  {
  "url": "https://meu-servidor.com/webhooks/fypay"
},
  {
    headers: {
      'Authorization': `Bearer ${process.env.FYPAY_TOKEN}`,
      'Content-Type': 'application/json',
    },
  }
);
console.log(response.data);
import os, requests

response = requests.post(
    'https://api.fypay.me/api/resend-webhook/PAG-2024-0001',
    headers={
        'Authorization': f'Bearer {os.environ["FYPAY_TOKEN"]}',
        'Content-Type': 'application/json',
    },
    json={
  "url": "https://meu-servidor.com/webhooks/fypay"
},
)
print(response.json())
$ch = curl_init('https://api.fypay.me/api/resend-webhook/PAG-2024-0001');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . getenv('FYPAY_TOKEN'),
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => '{
  "url": "https://meu-servidor.com/webhooks/fypay"
}',
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
String body = """
    {
      "url": "https://meu-servidor.com/webhooks/fypay"
    }
    """;
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.fypay.me/api/resend-webhook/PAG-2024-0001"))
    .header("Authorization", "Bearer " + System.getenv("FYPAY_TOKEN"))
    .header("Content-Type", "application/json")
    .POST(HttpRequest.BodyPublishers.ofString(body))
    .build();
HttpResponse<String> response = HttpClient.newHttpClient()
    .send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());

Response (200)

CampoTipoDescrição
messagestringMensagem descritiva do resultado
webhookLogIdnumberID do log de webhook gerado para auditoria
sentAtstringData/hora do envio do webhook (ISO 8601)
statusCodenumberCó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

StatusDescrição
400Nenhuma 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
401Token inválido, expirado ou não fornecido
404Transação não encontrada ou não pertence a conta autenticada
429Limite de 60 requisições por minuto por conta excedido. Aguarde a janela renovar (header Retry-After)
502A URL de destino respondeu com status fora de 2xx. O corpo traz message, webhookLogId e sentAt
504A URL de destino não respondeu em 10 segundos. O corpo traz message, webhookLogId e sentAt

Nesta página