Entrega de prubea
POST
https://api.copayex.com/api/v1/webhooks/subscriptions/:id/testEste endpoint dispara un evento de prueba hacia la URL configurada para la suscripción, reutiliza la lógica de firma del worker y devuelve métricas y el estado de la entrega.
Parámetros de solicitud
| Campo | Tipo | Ubicación | Requerido | Descripción |
|---|---|---|---|---|
id | UUID | Path | Sí | Identificador de la suscripción activa que querés probar. |
eventType | payments.item.completed / payments.item.partial_payment / payments.item.payment_failed / payments.item.payment_canceled | Body (JSON) | Sí | Tipo de evento que se enviará. |
data | Objeto opcional que respeta la forma de PaymentItemEventPayloadMap[eventType] | Body (JSON) | No | Reemplaza campos por defecto del evento (por ejemplo itemId, paymentId, reason, currentPaymentAmount, totalPaidAmount). |
Parámetros de respuesta
Devuelve un objeto WebhookTestResult con los siguientes campos:
| Campo | Tipo | Descripción |
|---|---|---|
success | boolean | Indica si el receptor respondió con un estado 2xx. |
statusCode | number | undefined | Código HTTP que devolvió el receptor (si hubo respuesta). |
responseBody | object | null | Cuerpo JSON devuelto por el receptor o null si no era JSON. |
errorMessage | string | null | Mensaje cuando hubo excepción (timeout, red, etc.). |
payload | PaymentItemEvent | Evento firmado enviado (incluye id, type, version, occurredAt, data). |
requestHeaders | dict | Cabeceras firmadas (X-Webhook-*, Content-Type, etc.). |
durationMs | number | Tiempo total de la ejecución en milisegundos. |
Ejemplos de solicitud
curl -X POST "https://api.copayex.local/api/v1/webhooks/subscriptions/3fa85f64-5717-4562-b3fc-2c963f66afa6/test" \
-H "Authorization: Bearer eyJhbGciOiJI..." \
-H "Content-Type: application/json" \
-d '{
"eventType": "payments.item.payment_failed",
"data": {
"itemId": "webhook-test-item",
"paymentId": "pay-987",
"reason": "simulación de rechazo",
"currency": "ARS"
}
}'Respuesta de ejemplo
{
"success": true,
"statusCode": 200,
"responseBody": { "processed": true, "receivedEventId": "cj2h8t" },
"errorMessage": null,
"payload": {
"id": "c7a5f9c8-9f04-4d94-b9f3-dc6cddd37581",
"type": "payments.item.payment_failed",
"version": "1.0",
"occurredAt": "2024-10-02T17:23:45.000Z",
"data": {
"itemId": "webhook-test-item",
"paymentId": "pay-987",
"reason": "simulación de rechazo",
"currency": "ARS"
}
},
"requestHeaders": {
"Content-Type": "application/json",
"X-Webhook-Id": "c7a5f9c8-9f04-4d94-b9f3-dc6cddd37581",
"X-Webhook-Timestamp": "1700000000",
"X-Webhook-Topic": "payments.item.payment_failed",
"X-Webhook-Signature-Algo": "HMAC-SHA256",
"X-Webhook-Signature": "v1=abc123signature",
"X-Webhook-Attempt": "1"
},
"durationMs": 184
}