Los webhooks son un mecanismo de las APIs para notificar a sistemas externos de eventos relevantes para tu negocio. En Quentli contamos con distintos eventos a los que puedes suscribirte para enterarte de sucesos importantes.
Todos los eventos son enviados con una llamada HTTP POST con un cuerpo JSON.
Eventos disponibles
A continuación se enlistan los eventos que puedes consumir utilizando webhooks.
Puedes desplegar cada evento para ver un ejemplo del cuerpo de la solicitud.
INVOICE_CREATED
Enviado cuando se crea una solicitud de pago desde el Dashboard o la API.
{
"eventId": "<id_de_evento>",
"eventType": "INVOICE_CREATED",
"data": {
"invoiceId": "<id_de_solicitud_de_pago>",
"amount": 192500,
"customer": {
"id": "<id_de_cliente>",
"customerId": "<id_de_cliente>",
"name": "Alicia Ríos",
"email": "alicia@example.com",
"phoneNumber": "+528445609708",
"username": "0000128765",
"metadata": [
{ "key": "Nivel", "value": "Ingeniería" }
]
},
"organization": { "id": "<id_de_organización>", "name": "Synergym" },
"metadata": [
{ "key": "Folio de beca", "value": "012442024" },
{ "key": "Tipo de beca", "value": "Beca Académica 75%" }
]
}
}
INVOICE_UPDATED
Enviado cuando se edita una solicitud de pago desde el Dashboard o la API.
{
"eventId": "<id_de_evento>",
"eventType": "INVOICE_UPDATED",
"data": {
"invoiceId": "<id_de_solicitud_de_pago>",
"amount": 192500,
"customer": {
"id": "<id_de_cliente>",
"customerId": "<id_de_cliente>",
"name": "Alicia Ríos",
"email": "alicia@example.com",
"phoneNumber": "+528445609708",
"username": "0000128765",
"metadata": [
{ "key": "Nivel", "value": "Ingeniería" }
]
},
"organization": { "id": "<id_de_organización>", "name": "Synergym" },
"metadata": [
{ "key": "Folio de beca", "value": "012442024" },
{ "key": "Tipo de beca", "value": "Beca Académica 75%" }
]
}
}
INVOICE_PAID
Enviado cuando una solicitud de pago es pagada utilizando un método de pago integrado a Quentli. Las solicitudes pagadas por otros medios no generan este evento.
{
"eventId": "<id_de_evento>",
"eventType": "INVOICE_PAID",
"data": {
"invoiceId": "<id_de_solicitud_de_pago>",
"amount": 192500,
"payment": {
"id": "<id_de_pago>",
"amount": 192500,
"currency": "MXN",
"paymentTime": "2025-01-20T16:59:16.238Z",
"monthlyInstallments": null,
"type": "CARD",
"cardDetail": {
"id": "<id_de_tarjeta>",
"cardholder": "Alejandra Lopez",
"last4": "3202",
"brand": "VISA",
"expiryMonth": 10,
"expiryYear": 2026,
"funding": "DEBIT",
"issuer": "BBVA",
"country": "MEX"
}
},
"customer": {
"id": "<id_de_cliente>",
"customerId": "<id_de_cliente>",
"name": "Alicia Ríos",
"email": "alicia@example.com",
"phoneNumber": "+528445609708",
"username": "0000128765",
"metadata": [
{ "key": "Nivel", "value": "Ingeniería" }
]
},
"organization": { "id": "<id_de_organización>", "name": "Synergym" },
"metadata": [
{ "key": "Folio de beca", "value": "012442024" },
{ "key": "Tipo de beca", "value": "Beca Académica 75%" }
]
}
}
INVOICE_PAID_OTHER
Enviado cuando una solicitud de pago es pagada utilizando medios externos de pago (e.g., efectivo o terminal bancaria)
{
"eventId": "<id_de_evento>",
"eventType": "INVOICE_PAID_OTHER",
"data": {
"invoiceId": "<id_de_solicitud_de_pago>",
"amount": 192500,
"payment": {
"id": "<id_de_pago>",
"amount": 192500,
"currency": "MXN",
"paymentTime": "2025-01-20T16:59:16.238Z",
"monthlyInstallments": null,
"type": "OTHER",
"cardDetail": {
"id": "<id_de_tarjeta>",
"cardholder": "Alejandra Lopez",
"last4": "3202",
"brand": "VISA",
"expiryMonth": 10,
"expiryYear": 2026,
"funding": "DEBIT",
"issuer": "BBVA",
"country": "MEX"
}
},
"customer": {
"id": "<id_de_cliente>",
"customerId": "<id_de_cliente>",
"name": "Alicia Ríos",
"email": "alicia@example.com",
"phoneNumber": "+528445609708",
"username": "0000128765",
"metadata": [
{ "key": "Nivel", "value": "Ingeniería" }
]
},
"organization": { "id": "<id_de_organización>", "name": "Synergym" },
"metadata": [
{ "key": "Folio de beca", "value": "012442024" },
{ "key": "Tipo de beca", "value": "Beca Académica 75%" }
]
}
}
INVOICE_CANCELED
Enviado cuando se cancela una solicitud de pago desde el Dashboard o la API.
{
"eventId": "<id_de_evento>",
"eventType": "INVOICE_CANCELED",
"data": {
"invoiceId": "<id_de_solicitud_de_pago>",
"amount": 192500,
"customer": {
"id": "<id_de_cliente>",
"customerId": "<id_de_cliente>",
"name": "Alicia Ríos",
"email": "alicia@example.com",
"phoneNumber": "+528445609708",
"username": "0000128765",
"metadata": [
{ "key": "Nivel", "value": "Ingeniería" }
]
},
"organization": { "id": "<id_de_organización>", "name": "Synergym" },
"metadata": [
{ "key": "Folio de beca", "value": "012442024" },
{ "key": "Tipo de beca", "value": "Beca Académica 75%" }
]
}
}
CUSTOMER_CREATED
Enviado cuando se crea un cliente nuevo desde el Dashboard o la API
{
"eventId": "<id_del_evento>",
"eventType": "CUSTOMER_CREATED",
"data": {
"customer_id": "<id_del_cliente>",
"name": "Alicia Ríos",
"email": "alicia@example.com",
"phoneNumber": "+523211012928",
"username": "0000128765"
}
}
CUSTOMER_UPDATED
Enviado cuando se editan los datos de un cliente desde el Dashboard o la API
{
"eventId": "<id_del_evento>",
"eventType": "CUSTOMER_UPDATED",
"data": {
"customer_id": "<id_del_cliente>",
"name": "Alicia Ríos",
"email": "alicia@example.com",
"phoneNumber": "+523211012928",
"username": "0000128765"
}
}
CUSTOMER_ARCHIVED
Enviado cuando se archiva un cliente desde el Dashboard o la API
{
"eventId": "<id_del_evento>",
"eventType": "CUSTOMER_ARCHIVED",
"data": {
"customer_id": "<id_del_cliente>",
"name": "Alicia Ríos",
"email": "alicia@example.com",
"phoneNumber": "+523211012928",
"username": "0000128765"
}
}
PAYMENT_ATTEMPT_SUCCEEDED
Enviado cuando se hizo un intento de cobro (desde la API, Dashboard o Portal de Clientes) y éste fue exitoso.
{
"eventId": "we_1234567890",
"eventType": "PAYMENT_ATTEMPT_FAILED",
"data": {
"payment": {
"id": "p_1234567890",
"amount": 10000,
"currency": "MXN",
"type": "CARD",
"isCompleted": false
},
"paymentAttempt": {
"id": "pa_1234567890",
"createdAt": "2025-01-22T18:45:30.796Z",
"success": true,
"scheduled": false,
"wasAttemptedByOrganization": false,
"errorCode": null,
"attemptNumber": 1
},
"customer": {
"id": "cus_1234567890",
"name": "Alicia Ríos",
"email": "aliciarr@ejemplos.com",
"phoneNumber": "<número_de_celular>",
"username": "12345",
"metadata": []
}
}
}
PAYMENT_ATTEMPT_FAILED
Enviado cuando se hizo un intento de cobro (desde la API, Dashboard o Portal de Clientes) y no fue exitoso.
{
"eventId": "we_1234567890",
"eventType": "PAYMENT_ATTEMPT_FAILED",
"data": {
"payment": {
"id": "p_1234567890",
"amount": 10000,
"currency": "MXN",
"type": "CARD",
"isCompleted": false
},
"paymentAttempt": {
"id": "pa_1234567890",
"createdAt": "2025-01-22T18:45:30.796Z",
"success": false,
"scheduled": false,
"wasAttemptedByOrganization": false,
"errorCode": "05",
"attemptNumber": 2
},
"customer": {
"id": "cus_1234567890",
"name": "Alicia Ríos",
"email": "aliciarr@ejemplos.com",
"phoneNumber": "<número_de_celular>",
"username": "<username_del_cliente>",
"metadata": []
}
}
}
PAYMENT_METHOD_CREATED
Enviado cuando se guarda un método de pago perteneciente a un cliente. Esto puede ser una tarjeta o una cuenta bancaria.
Tarjeta de crédito o débito
{
"eventId": "<id_del_evento>",
"eventType": "PAYMENT_METHOD_CREATED",
"data": {
"paymentMethod": {
"id": "<id_del_método_de_pago>",
"type": "CARD",
"cardDetail": {
"id": "<id_de_tarjeta>",
"cardholder": "Alejandra Lopez",
"last4": "3202",
"brand": "VISA",
"expiryMonth": 10,
"expiryYear": 2026,
"funding": "DEBIT",
"issuer": "BBVA",
"country": "MEX"
}
},
"customer": {
"id": "cus_1234567890",
"name": "Alicia Ríos",
"email": "aliciarr@ejemplos.com",
"phoneNumber": "<número_de_celular>",
"username": "<username_del_cliente>",
"metadata": [
{ "key": "Nivel", "value": "Ingeniería" },
{ "key": "Tipo de beca", "value": "Beca Académica 75%" }
]
}
}
}
Cuenta bancaria de México (CLABE)
{
"eventId": "<id_del_evento>",
"eventType": "PAYMENT_METHOD_CREATED",
"data": {
"paymentMethod": {
"id": "<id_del_método_de_pago>",
"type": "MEXICAN_BANK_ACCOUNT",
"confirmed": false,
"cardDetail": null,
"bankAccount": {
"id": "<id_de_cuenta_bancaria>",
"clabeLast": "8882",
"clabeFirst": "072",
"bankCode": "072",
"bankName": "BANORTE",
"verified": false
}
},
"customer": {
"id": "<id_del_cliente>",
"name": "Alicia Ríos",
"email": "aliciarr@ejemplos.com",
"phoneNumber": "<número_de_celular>",
"username": "<username_del_cliente>",
"metadata": [
{ "key": "Nivel", "value": "Ingeniería" },
{ "key": "Tipo de beca", "value": "Beca Académica 75%" }
]
}
}
}
Para configurar los webhooks en tu organización, por favor ponte en contacto con nosotros a través de soporte@quentli.com.