Webhook personnalisé
Créez l'endpoint, activez les messages sortants, et la réponse arrive sur votre serveur comme un POST normal. https://whatsable.app/integrations/webhook
Oui. Une réponse saisie dans l'app WhatsApp Business est bien envoyée en POST à votre webhook. Vous gardez l'app sur le téléphone. Le numéro reste le même.
Les messages sortants doivent être activés pour cette destination. Sinon, le contact reçoit bien la réponse, mais votre webhook ne la voit jamais.
Choisissez où la réponse doit arriver : un webhook que vous avez créé, n8n, Zapier ou Make.
outgoing: true.Créez l'endpoint, activez les messages sortants, et la réponse arrive sur votre serveur comme un POST normal. https://whatsable.app/integrations/webhook
Le nœud déclencheur Whatsable se lance uniquement sur les messages entrants. Pour capter une réponse envoyée depuis le téléphone, ajoutez un nœud Webhook n8n et collez son URL dans un webhook Whatsable avec les messages sortants activés. L'article associé détaille les clics dans n8n. https://whatsable.app/blog/trigger-n8n-scenarios-from-whatsapp-business-app https://whatsable.app/integrations/n8n
Utilisez un catch hook Webhooks by Zapier comme webhook Whatsable avec les messages sortants activés. https://whatsable.app/integrations/zapier
Utilisez un webhook personnalisé Make comme webhook Whatsable avec les messages sortants activés. https://whatsable.app/integrations/make
Une réponse depuis l'app sur le téléphone n'atteint un Agent Skill que si ce Skill repose sur un webhook que vous avez créé avec les messages sortants activés. Installer un Skill ne suffit pas à recevoir l'événement. https://whatsable.app/vibe-code
Quand une réponse arrive depuis le téléphone, trois champs concordent. incoming_message vaut false. send_by vaut "WhatsApp App". was_message_by_human vaut true.
Le même POST transporte aussi les autres champs officiels du message. Les définitions ci-dessous reprennent celles de la page des champs du payload.
Vérifiez message_type (text, image, audio, video, document, location). Pour l'audio, la transcription figure dans les champs de texte quand elle est disponible.
Notifyer est la valeur système des messages envoyés via Whatsable.
| Champ | Qu'est-ce que c'est |
|---|---|
phone_number | Numéro WhatsApp du contact dans cette conversation (chiffres, souvent sans +). Sur les événements sortants, il s'agit de la personne à qui votre entreprise a écrit. Peut arriver sous forme de nombre ou de chaîne. |
message_type | Le type du dernier message (text, image, audio, video, document ou location). Pour l'audio, la transcription figure dans les champs de texte quand elle est disponible. |
last_message_of_user | Le dernier message envoyé par l'utilisateur. |
last_message_of_bot | Le dernier envoi de l'entreprise, y compris par un humain sur le téléphone ou dans la boîte de réception. Pas seulement un bot. |
last_messages | Messages récents de la conversation (environ les 20 derniers). Dans les envois de webhook, il s'agit généralement d'une chaîne JSON : analysez-la avant de la parcourir. Chaque élément a le type user (le contact) ou bot (le dernier envoi de l'entreprise, y compris par un humain sur le téléphone ou dans la boîte de réception). Comprend les messages de l'app WhatsApp Business, de la boîte de réception Whatsable, des automatisations et des modèles. |
last_messages.type | Type d'expéditeur (user ou bot). user est le contact. bot est le dernier envoi de l'entreprise, y compris par un humain sur le téléphone ou dans la boîte de réception. |
last_messages.content | Contenu du message (vide pour les messages média). Pour l'audio, la transcription figure dans les champs de texte quand elle est disponible. |
last_messages.timestamp | Horodatage ISO 8601 de l'envoi du message. |
last_messages.content_type | Type de contenu (text, image, audio, video, document ou location). |
last_messages.media_url | URL du fichier média, le cas échéant (valable 24 heures). |
conversation_paragraph | Résumé lisible de la conversation récente. |
recipient_name | Le nom du destinataire, si disponible. |
user_id | Identifiant unique de l'utilisateur dans votre système. |
user_last_message_time | Horodatage Unix du dernier message de l'utilisateur. |
bot_last_message_time | Horodatage Unix du dernier message de votre système. |
attachment_url | URL du fichier média si le dernier message en contient un (null pour les messages texte). |
note | Champ de note personnalisé pour ajouter du contexte. |
note_automation | Notes liées à l'automatisation. |
labels | Étiquettes séparées par des virgules pour classer la conversation. |
incoming_message | false sur les messages sortants. Absent des messages entrants dans le payload par défaut. |
send_by | Le système ou la personne qui a envoyé un message sortant. "WhatsApp App" quand il a été saisi dans l'app WhatsApp Business ; "AI" quand votre agent IA l'a envoyé ; "Notifyer" pour les envois depuis la boîte de réception, l'API, une diffusion ou une automatisation. Absent des messages entrants. |
was_message_by_human | was_message_by_human vaut false uniquement quand votre agent IA a envoyé le message (relances comprises) ; tout autre envoi vaut true. |
referral | Présent sur les événements entrants issus d'une publicité ou d'une publication Click-to-WhatsApp, absent des chats ordinaires et de la plupart des relances. Voir https://whatsable.app/click-to-whatsapp-ads. |
Filtrez pour que incoming_message soit false, send_by soit "WhatsApp App" et was_message_by_human soit true.
Oui. YouTube : https://www.youtube.com/watch?v=njAxHZalMn4
Ce n'est ni un contrôle de la boîte de réception, ni une spécification des champs Click-to-WhatsApp, ni un dump JSON client.