Référence

Webhooks sortants

ReachFlow envoie des requêtes POST HTTPS vers votre serveur lorsque des événements API se produisent. Configuration dans le dashboard.

Enveloppe commune

Corps JSON POST — le champ data varie selon l'événement.

JSON
{
  "event": "message.delivered",
  "data": { ... },
  "createdAt": "2026-06-04T12:00:00.000Z"
}

En-têtes

En-têteDescription
X-ReachFlow-EventNom de l’événement (ex. message.delivered).
X-ReachFlow-SignatureHMAC-SHA256 du corps JSON brut, préfixe sha256=.
Content-Typeapplication/json

Calculez HMAC-SHA256 sur le corps brut (chaîne JSON exacte) avec le secret affiché à la création du webhook.

Événements

message.sent

Message accepté et transmis au canal WhatsApp.

data
{
  "messageId": "7f9e1234-abcd-4ef0-8765-aabbccddeeff",
  "status": "sent",
  "to": "+2250700000000",
  "providerId": "a3f1b2c4-1234-4abc-9def-000011112222"
}

message.delivered

Accusé de livraison WhatsApp reçu.

data
{
  "messageId": "7f9e1234-abcd-4ef0-8765-aabbccddeeff",
  "status": "delivered",
  "to": "+2250700000000",
  "providerId": "a3f1b2c4-1234-4abc-9def-000011112222"
}

message.failed

Échec d’envoi ou de livraison.

data
{
  "messageId": "7f9e1234-abcd-4ef0-8765-aabbccddeeff",
  "status": "failed",
  "to": "+2250700000000",
  "providerId": "a3f1b2c4-1234-4abc-9def-000011112222"
}

webhook.test

Événement de test depuis le dashboard (bouton Tester).

data
{
  "ok": true,
  "source": "reachflow-dashboard"
}

scrape.record.new

Nouveaux records structurés collectés depuis une source.

data
{
  "sourceId": "8e7f9abc-def0-4123-8765-001122334455",
  "itemsNew": 3,
  "itemsUpdated": 1,
  "records": [
    {
      "id": "d4f9e1a3-abcd-4ef0-8765-aabbccddeeff",
      "canonicalUrl": "https://example.org/jobs/123",
      "data": {
        "title": "Stage Data",
        "organization": "Acme"
      },
      "extractionMethod": "FEED"
    }
  ]
}