WebhooksEntrega de prueba

Entrega de prubea

POSThttps://api.copayex.com/api/v1/webhooks/subscriptions/:id/test

Este 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

CampoTipoUbicaciónRequeridoDescripción
idUUIDPathIdentificador de la suscripción activa que querés probar.
eventTypepayments.item.completed / payments.item.partial_payment / payments.item.payment_failed / payments.item.payment_canceledBody (JSON)Tipo de evento que se enviará.
dataObjeto opcional que respeta la forma de PaymentItemEventPayloadMap[eventType]Body (JSON)NoReemplaza campos por defecto del evento (por ejemplo itemId, paymentId, reason, currentPaymentAmount, totalPaidAmount).

Parámetros de respuesta

Devuelve un objeto WebhookTestResult con los siguientes campos:

CampoTipoDescripción
successbooleanIndica si el receptor respondió con un estado 2xx.
statusCodenumber | undefinedCódigo HTTP que devolvió el receptor (si hubo respuesta).
responseBodyobject | nullCuerpo JSON devuelto por el receptor o null si no era JSON.
errorMessagestring | nullMensaje cuando hubo excepción (timeout, red, etc.).
payloadPaymentItemEventEvento firmado enviado (incluye id, type, version, occurredAt, data).
requestHeadersdictCabeceras firmadas (X-Webhook-*, Content-Type, etc.).
durationMsnumberTiempo 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
}