Configuration d’un webhook
Vous devez avoir le rôle Owner ou Admin.Ajouter un webhook
Cliquez sur Add webhook, collez l’URL HTTPS publique de votre point d’accès, et choisissez les types d’événements que vous souhaitez recevoir.
Enregistrer le secret de signature
Flowella génère un secret de signature unique pour le webhook. Copiez-le - vous l’utiliserez pour vérifier les demandes entrantes.
Types d’événements
Vous pouvez vous abonner à n’importe lequel de ces événements :| Événement | Lorsqu’il se déclenche |
|---|---|
message.received | Un message entrant WhatsApp est arrivé de la part d’un contact. |
message.sent | Flowella a accepté votre message sortant et l’a soumis à Meta. |
message.delivered | Meta a confirmé que le message a été délivré à l’appareil du destinataire. |
message.read | Le destinataire a ouvert le message. |
message.failed | Meta a renvoyé un échec pour le message. |
conversation.opened | Une conversation est passée à l’état ouvert |
conversation.closed | Une conversation a été fermée |
optout.created | Un contact s’est retiré d’un canal spécifique |
template.status_updated | Meta a changé le statut d’un modèle (approuvé, rejeté, en pause, désactivé) |
webhook.test est envoyé uniquement lorsque vous cliquez sur Envoyer un test - vous ne vous y abonnez pas explicitement.
Format de la demande
Flowella POST un corps JSON à votre URL avec ces en-têtes :Vérification des signatures
Chaque requête inclut un en-têteX-Flowella-Signature. La valeur est le HMAC-SHA256 hex digest du corps de la requête UTF-8 brut avec la clé du secret de signature de votre webhook.
Vérifiez-le avant de le traiter :
Réponses, tentatives et délais d’attente
- Timeout : Flowella attend jusqu’à 10 secondes que votre terminal réponde.
- Succès** : toute réponse de
2xxest considérée comme une livraison réussie. - Retries : les livraisons échouées sont retentées jusqu’à 3 tentatives avec backoff.
- Désactivation automatique** : si un webhook accumule 10 échecs consécutifs, Flowella le désactive. Vous devrez le réactiver depuis Paramètres → Webhooks après avoir corrigé votre point d’accès.
Idempotence
Les webhooks peuvent être relancés, de sorte que le même événement logique peut arriver plus d’une fois. Pour traiter en toute sécurité :- Utilisez le
data.idde l’événement (ou une clé dérivée commeevent + data.messageId) comme clé d’idempotence. - Conservez un cache de courte durée pour les clés traitées (quelques heures suffisent pour les nouvelles tentatives).
- Traitez les doublons comme des “no-ops”.
Lister et gérer les livraisons
Réglages → Webhooks affiche les tentatives de livraison récentes par webhook, y compris :- Horodatage
- Type d’événement
- État de la réponse
- Un corps de réponse tronqué (jusqu’à ~1 KB) pour le débogage
Développement local
La manière la plus simple de développer localement avec des webhooks est de transférer un tunnel public (par exemple, ngrok ou Cloudflare Tunnel) vers votre serveur de développement et de faire pointer l’URL du webhook vers l’hôte du tunnel. Utilisez Send test pour envoyer des payloads à la demande sans attendre l’activité réelle de WhatsApp.En rapport
Paramètres → Webhooks
Configurez les points de terminaison, les secrets de signature et les tentatives dans l’application.
Introduction à l'API
Auth, erreurs, pagination, et limites de taux pour l’API REST.
Clés API
Créer et faire pivoter les jetons porteurs dont votre point de terminaison peut avoir besoin.
Événements de notification
Les mêmes événements sont diffusés dans le flux in-app et dans les courriels.

