docs

Reenviar webhook de transacción

POST /api/resend-webhook/{transactionIdentifier}

POST https://api.fypay.me/api/resend-webhook/{transactionIdentifier}

Requiere un Bearer token en el header Authorization. Vea Generar Token para obtener uno.

Reenvía el webhook de una transacción específica a la(s) URL(s) configurada(s) o a una URL temporal (override).

El identificador de la transacción puede ser:

  • ID numérico de transacción: El ID retornado por FyPay (campo transactionId en los webhooks)
  • Su ID de referencia: El identificador que usted proporcionó al crear la transacción (externalId)
  • PIX End-to-End ID: El e2eId retornado en los webhooks (formato: E/D + 32 caracteres)

Autenticación

Requiere un Bearer token en el header Authorization.

Parámetros de ruta

ParámetroTipoRequeridoDescripción
transactionIdentifierstringSíIdentificador de la transacción: id numérico, externalId o endToEndId

Cuerpo de la solicitud (opcional)

CampoTipoRequeridoDescripción
urlstringNoURL temporal para este reenvío específico. Si no se proporciona, el reenvío va a todas las URLs activas configuradas para el evento. Si se proporciona una URL, usa los headers y la versión de payload de la primera URL activa del evento. La URL no se persiste
{
  "url": "https://meu-servidor.com/webhooks/fypay"
}

Comportamiento de la URL

  • Si no se proporciona url, el reenvío se envía a todas las URLs activas configuradas para el evento, cada una con sus propios headers personalizados y versión de payload
  • Si se proporciona url en el cuerpo, utiliza esa URL temporalmente (no se persiste), con los headers personalizados y la versión de payload de la primera URL activa configurada para el evento
  • Si no hay URL disponible, retorna error 400

El reenvío pasa por el mismo pipeline que el envío original: el payload se reconstruye a partir del estado actual de la transacción y se firma con el secret HMAC actual de la cuenta en el header X-Avista-Signature (mientras la clave de firma no se genere en el panel, el reenvío sale sin ese header).


Ejemplos 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());

Respuesta (200)

CampoTipoDescripción
messagestringMensaje descriptivo del resultado
webhookLogIdnumberID del registro de webhook generado para auditoría
sentAtstringFecha/hora de envío del webhook (ISO 8601)
statusCodenumberCódigo de estado HTTP retornado por la URL de destino
{
  "message": "Webhook resent successfully",
  "webhookLogId": 12345,
  "sentAt": "2024-01-15T10:30:00.000Z",
  "statusCode": 200
}

Errores

EstadoDescripción
400No hay URL de webhook disponible. Configure un webhook para el tipo de operación de esta transacción o proporcione una URL temporal en el campo url
401Token inválido, expirado o faltante
404Transacción no encontrada o no pertenece a la cuenta autenticada
429Límite de 60 solicitudes por minuto por cuenta excedido. Espere a que la ventana se renueve (header Retry-After)
502La URL de destino respondió con un status fuera de 2xx. El cuerpo incluye message, webhookLogId y sentAt
504La URL de destino no respondió en 10 segundos. El cuerpo incluye message, webhookLogId y sentAt

En esta página