Ir al texto

Manual

Webhooks

Un webhook avisa a tu URL cuando ocurre un hecho en la empresa. Inari firma el cuerpo, intenta una vez y guarda el resultado. No reintenta solo.

Actualizado el 2026-10-09 · 4 min de lectura

Eventos

EventoCuándo se despacha
invoice.createdSe creó una factura en la app.
invoice.paidUna factura quedó saldada.
payment.createdSe registró un pago.
client.createdSe creó un cliente, también por POST /api/v1/clients.

Al crear el endpoint elegís la URL y la lista de eventos. Tiene que ser https. localhost y 127.0.0.1 se aceptan para una prueba. El secreto, con prefijo whsec_, se muestra una sola vez. Después la lista no lo devuelve.

Cuerpo y firma

El POST lleva content-type: application/json, user-agent: Inari-Webhooks/1.0 y x-inari-signature: sha256= más el HMAC-SHA256 hexadecimal del cuerpo crudo, calculado con el secreto del endpoint. No hay marca de tiempo en la firma ni un id de entrega dentro del JSON.

{
  "event": "client.created",
  "tenantId": "uuid-de-la-empresa",
  "occurredAt": "2026-10-09T15:04:00.000Z",
  "data": {
    "id": "uuid",
    "nombre": "Café del Volcán",
    "identificacion": "3101123456",
    "tipoCliente": "empresa"
  }
}

Para verificar: tomá los bytes exactos del cuerpo, calculá HMAC-SHA256 con el secreto y compará con el hex que sigue a sha256=. Una comparación en tiempo constante evita filtrar el secreto por tiempos. Si necesitás ignorar un duplicado, usá event más el id que venga en data. El mismo hecho de negocio, repetido por una persona, puede generar otro envío.

Entrega

  • Un intento, con espera máxima de 10 segundos.
  • Respuesta 2xx: queda como éxito. Cualquier otra cosa, o un error de red, queda como fallo, con el código HTTP o el mensaje.
  • No hay una cola de reintentos. Si tu servidor estaba caído, el aviso no vuelve solo.
  • Un webhook caído no revierte la factura ni el cliente. El trabajo de la app ya terminó antes del envío.