Skip to main content
Los webhooks notifican a tu servidor cuando ocurre un evento relevante en Quentli. Cada entrega es una solicitud HTTP POST con un cuerpo JSON UTF-8 y el siguiente sobre:
eventId identifica una entrega. Guarda y deduplica este valor: el mismo evento se puede entregar más de una vez.

Configura un webhook

Crea un endpoint HTTPS desde POST /v1/webhooks. Define solamente los eventos que tu integración procesa.
POST /v1/webhooks

Entrega y reintentos

  • Responde 2xx en menos de 10 segundos para confirmar la entrega.
  • Las respuestas no 2xx, timeouts y errores de conexión se reintentan hasta ocho veces, después del primer intento.
  • Los reintentos se programan después de 2 segundos, 10 segundos, 5 minutos, 20 minutos, 1 hora, 5 horas, 1 día y 3 días.
  • No asumas orden entre eventos. Usa eventId para deduplicar y consulta el estado actual del recurso si recibes eventos fuera de orden.
  • Puedes consultar el historial en GET /v1/webhook-events y reintentar una entrega con POST /v1/webhook-events/{id}/retry.

Eventos disponibles

Estructura de data

Los payloads incluyen todos los campos descritos a continuación. Los objetos y campos marcados como opcionales pueden ser null o no estar presentes según el evento y el método de pago.

Facturas

invoice contiene id, amount, currency, dueDate, expireDate e items. Cada item incluye description, amount, currency, quantity y conceptId. Cuando existe un pago, payment incluye su identificador, monto, moneda, fecha de pago, tipo, código de autorización y detalles de tarjeta cuando corresponde.

Intentos y pagos

Los eventos de intento incluyen payment.status, payment.isCompleted, payment.meta y paymentAttempt con id, createdAt, success, startedOn, automatic, scheduled, wasAttemptedByOrganization, attemptNumber, errorCode, errorType y errorResponse. Los detalles de tarjeta y la sesión de pago pueden ser null. PAYMENT_COMPLETED incluye los items cobrados y las facturas relacionadas. Su paymentAttempt es null cuando no existe un intento asociado.

Métodos de pago

paymentMethod contiene id, type, confirmed, chargesConsented, cardDetail y bankAccount. Los detalles de tarjeta o cuenta bancaria son null cuando no aplican. customer incluye sus identificadores, datos de contacto y metadatos.

Suscripciones, reembolsos y contracargos

Las suscripciones contienen sus fechas de cobro, estado, método de cobranza, items y el cliente asociado. Los reembolsos incluyen su estado, monto, fechas y pago original. Los contracargos incluyen estado, motivo, fecha límite de respuesta, respuesta asociada y pago original.

Ejemplo: método de pago creado