WazzyAI
WazzyAI
API

Webhooks

WazzyAI POSTe un JSON signé sur votre URL dès qu'un événement arrive (message, lead, RDV).

Configurer

  1. Allez dans Développeurs → Webhooks.
  2. Collez une URL HTTPS publique.
  3. Cochez les événements : message.in, lead.stage_change, lead.won, *…
  4. Copiez le secret — il signe chaque livraison.

Payload type

POST /votre-endpoint
x-wazzy-signature: sha256=…
Content-Type: application/json

{
  "id": "evt_…",
  "type": "message.in",
  "organizationId": "org_…",
  "at": 1787620000000,
  "payload": {
    "conversationId": "…",
    "contactId": "…",
    "text": "Bonjour, vous livrez à Cocody ?"
  }
}

Vérifier la signature

const crypto = require("crypto");
function verify(body, signature, secret) {
  const expected = "sha256=" + crypto
    .createHmac("sha256", secret)
    .update(body)
    .digest("hex");
  return crypto.timingSafeEqual(
    Buffer.from(expected),
    Buffer.from(signature)
  );
}

Rejetez toute requête dont la signature ne matche pas.

Retries

Si votre serveur ne répond pas 2xx : 10s → 1 min → 5 min → 30 min → 2 h (5 tentatives). Dédupez sur id — on peut renvoyer le même événement.

Événements

  • message.in / message.out
  • lead.stage_change / lead.won
  • conversation.update / notification
  • * — tout