Webhooks are a great way for your system to receive near real-time updates from SensaInvoices without the need to constantly polling. When enabled, your system will be notified as soon as an event is trigger within SensaInvoices.
Webhooks can be enabled on a per site or per invoice basis by assigning a webhook URL when calling the associated endpoints. Here is an example of the json data required to enable webhooks for each endpoint.
{
"external_id": "12345678",
"webhook": {
"active": true,
"url": "https://mysoftware.com/webhook"
}
}
{
"external_id": "39772921",
"webhook_url": "https://mysoftware.com/webhook/{invoice_id}"
}
When a webhook URL is configured, the following messages will be sent.
Your webhook URL must answer with a successful HTTP status code (any 2xx) and should do so within 10 seconds. A non-2xx status, or a connection that cannot be made at all, counts as a failed delivery and the message is re-sent using the following schedule.
Hay tres reintentos como máximo. Cada retraso en la tabla se mide a partir del intento anterior y no del webhook inicial, por lo que el tercer y último intento se realiza unas tres horas después. Si ese también falla, el mensaje no se vuelve a enviar.