Aller au contenu principal

WhatsApp

Envoyer des messages WhatsApp depuis n’importe quel système avec un webhook

Votre boutique, votre CRM ou votre outil de réservation sait déjà quand une commande est passée, qu’un paiement échoue ou qu’un rendez-vous est pris. Un webhook peut transformer chacun de ces événements en message WhatsApp, sans code de votre côté. Voici comment le préparer, le sécuriser et le tester.

Équipe MonoChat Mis à jour: 8 min de lecture

Sur cette page
  1. Ce qu’est un webhook, et ce qu’il n’est pas
  2. Quels événements méritent un message WhatsApp
  3. Les règles WhatsApp qui s’appliquent
  4. Sécuriser l’URL du webhook
  5. Où créer le webhook dans Shopify et WooCommerce
  6. Tester avec de vraies requêtes avant la mise en ligne
  7. Comment le faire dans MonoChat
  8. Sources

Pour envoyer un message WhatsApp quand quelque chose se produit dans un autre système, faites pointer le webhook de ce système vers un récepteur qui retrouve le client grâce à son numéro de téléphone et lui envoie un modèle de message WhatsApp approuvé. Votre boutique, votre CRM ou votre outil de réservation déclenche déjà des webhooks pour les commandes, les paiements et les rendez-vous. Le vrai travail consiste à choisir les événements qui méritent un message, rédiger les modèles, sécuriser l’URL et tester avec de vraies requêtes avant que vos clients ne voient quoi que ce soit.

Ce guide couvre la préparation, les règles WhatsApp qui l’encadrent et la mise en place dans MonoChat avec un flow qui démarre depuis sa propre URL de webhook.

Ce qu’est un webhook, et ce qu’il n’est pas

Un webhook est une requête HTTP qu’un système envoie à une URL que vous lui indiquez quand un événement se produit. Shopify peut en envoyer un à la création d’une commande, WooCommerce à la mise à jour d’une commande, un CRM quand une opportunité change d’étape, un outil de réservation quand un rendez-vous est pris. La requête contient le détail de l’événement, le plus souvent en JSON : un numéro de commande, un montant, le nom du client et, ce qui compte le plus pour WhatsApp, un numéro de téléphone.

Un webhook n’envoie rien au client par lui-même. Il faut que quelque chose reçoive la requête, décide quoi en faire et appelle la WhatsApp Business API. Ce « quelque chose », c’est soit du code que vous écrivez et hébergez, soit une plateforme d’automatisation qui vous fournit une URL de webhook et vous laisse construire le reste sans code.

Quels événements méritent un message WhatsApp

Tous les événements ne valent pas un message. Un client qui reçoit cinq notifications pour une seule commande finit par toutes les ignorer. Choisissez les moments qu’il attend vraiment :

ÉvénementMessageCatégorie du modèle
Commande créée ou payéeConfirmation avec le numéro de commande et la suiteUtilitaire
Paiement échoué ou en attenteUn mot bref et un moyen de payer à nouveauUtilitaire
Commande expédiéeTransporteur et lien de suiviUtilitaire
Commande en paiement à la livraison crééeUne question : confirmer la commande, changer l’adresse ou annulerUtilitaire
Rendez-vous pris, modifié ou prévu demainDate, heure, lieu et un moyen de le déplacerUtilitaire
Opportunité gagnée ou perdue dans le CRMUn passage de relais au chargé de compte, ou une demande d’avisUtilitaire ou marketing, selon le texte
Panier abandonnéUne relance, éventuellement avec une offreMarketing

Meta décide de la catégorie d’après le contenu du modèle, pas d’après celle que vous choisissez. Un message sur une commande, un paiement ou une réservation précis est utilitaire ; tout ce qui fait la promotion, propose une offre ou cherche à convaincre relève du marketing et nécessite un consentement qui couvre le marketing. Nos exemples de modèles de message WhatsApp proposent des formulations pour les cas utilitaires ci-dessus.

Les règles WhatsApp qui s’appliquent

La plupart des messages déclenchés par webhook exigent un modèle

Une fenêtre de service client s’ouvre quand un client vous écrit ou vous appelle, et dure 24 heures à partir de son dernier message. À l’intérieur, vous répondez librement ; en dehors, vous ne pouvez envoyer que des modèles de message préapprouvés. Les événements d’une boutique ou d’un CRM tombent rarement dans cette fenêtre : prévoyez donc chaque message déclenché par webhook comme un modèle, et soumettez vos modèles à validation avant d’activer quoi que ce soit.

Le numéro de téléphone doit être exploitable

Le webhook doit transmettre un numéro que WhatsApp peut joindre : au format international, avec l’indicatif du pays. Beaucoup de boutiques laissent les clients saisir leur numéro comme ils veulent, alors vérifiez quelques vraies commandes. Un numéro sans indicatif est la raison la plus fréquente pour laquelle un test fonctionne et la production non.

Les tarifs ont changé le 1er octobre 2026

Meta facture chaque message délivré depuis le 1er juillet 2025. Depuis le 1er octobre 2026, les modèles utilitaires envoyés dans une fenêtre de service client ouverte sont de nouveau facturés, après une période de gratuité, et chaque numéro de téléphone professionnel dispose de 1,000 messages de service gratuits par mois. Les tarifs dépendent de la catégorie et du pays du client. Concrètement, une confirmation de commande coûte de l’argent, que le client vous ait écrit récemment ou non : envoyez les messages qui comptent et laissez tomber les autres. Le guide des tarifs de l’API WhatsApp Business détaille la grille tarifaire.

Sécuriser l’URL du webhook

Toute personne qui connaît une URL de webhook peut l’appeler. Si cette URL envoie des messages WhatsApp, une fuite permet à quelqu’un d’autre d’écrire à vos clients en votre nom, ou de faire grimper votre facture. Trois réflexes l’évitent :

  • Exiger un secret. Le système émetteur ajoute le secret dans un en-tête, ou signe le corps de la requête avec lui (HMAC-SHA256) pour que le récepteur puisse vérifier que la requête n’a pas été modifiée en chemin. Les requêtes sans secret ou signature valide sont rejetées.
  • Une URL par usage. Un flow de commandes et un flow de réservations doivent avoir des URL et des secrets différents, pour que vous puissiez renouveler l’un sans toucher à l’autre.
  • Surveiller les échecs côté émetteur. WooCommerce désactive un webhook après plus de cinq échecs de livraison consécutifs, et Shopify supprime un abonnement webhook dont la destination renvoie à plusieurs reprises une réponse autre que 200. Un récepteur désactivé ou mal configuré peut stopper vos notifications sans que vous le remarquiez.

Où créer le webhook dans Shopify et WooCommerce

  • Shopify : Settings › Notifications › Webhooks, puis Create webhook. Choisissez un événement (Order creation, Order payment, Fulfillment creation et bien d’autres), le format JSON et une URL en https://. L’événement ne peut plus être modifié après la création du webhook : créez donc un webhook par événement. Send test vérifie qu’il atteint l’URL.
  • WooCommerce : WooCommerce › Settings › Advanced › Webhooks, puis Add webhook. Choisissez un topic (événements de commande, de client, de code promo ou de produit), saisissez l’URL de livraison et un secret ; WooCommerce ajoute aux en-têtes de la requête un hash du contenu calculé avec ce secret.
  • Un CRM ou un outil de réservation : cherchez « webhooks », « automatisations » ou « intégrations sortantes ». S’il n’offre qu’un format fixe, vérifiez quel champ contient le numéro du client avant de construire quoi que ce soit.

Tester avec de vraies requêtes avant la mise en ligne

Les contenus de webhook sont longs et chaque plateforme nomme ses champs à sa façon : le numéro peut s’appeler phone, billing.phone ou customer.default_address.phone. Ne devinez pas. Envoyez une vraie requête de test, regardez ce qui est arrivé et associez les champs à partir de là. Testez ensuite les cas limites :

  • une commande sans numéro de téléphone, ou avec un numéro sans indicatif ;
  • le même événement livré deux fois, ce que font les plateformes quand elles réessaient ;
  • une commande passée à 3 h du matin, si vous préférez que le message attende le matin ;
  • un client qui répond à la notification, pour qu’une personne ou un assistant IA soit prêt à lui répondre.

Comment le faire dans MonoChat

MonoChat est un Meta Business Partner officiel. Depuis la version 3.8.37 (octobre 2026), un flow peut démarrer depuis un webhook : votre boutique ou votre CRM peut déclencher des messages WhatsApp sans code de votre côté.

1. Démarrez le flow avec un nœud Webhook reçu. Ajoutez-le depuis les nœuds d’événement. Il reçoit sa propre URL de webhook et son propre secret. Choisissez le canal, par exemple votre numéro WhatsApp, et le Chemin de l’identité, c’est-à-dire l’endroit de la requête où se trouve le numéro du client (request.body.phone par défaut). MonoChat retrouve le client sur ce canal, ou le crée, et exécute le flow pour lui. Le nœud répond à l’émetteur par 202 dès que le flow est mis en file d’attente, et par une erreur explicite si le canal ou le numéro est introuvable.

2. Activez Exiger un secret. L’émetteur peut placer le secret dans l’en-tête du jeton (Authorization par défaut, seul ou sous la forme Bearer <secret>) ou envoyer une signature HMAC-SHA256 du corps brut dans l’en-tête de signature (X-Signature par défaut). Les deux noms d’en-tête peuvent être adaptés au système émetteur.

3. Capturez une vraie requête. Ajoutez /test à la fin de l’URL du webhook et pointez le webhook de test de votre boutique dessus. Tant que les paramètres du nœud sont ouverts, la requête apparaît sous Requête reçue avec son corps, sa query et ses en-têtes, sans démarrer le flow. Servez-vous-en pour trouver les chemins dont vous avez besoin, puis enregistrez-les comme variables de flow, par exemple request.body.orderId sous le nom orderId.

4. Envoyez le message. Ajoutez un nœud Envoyer un message modèle avec votre modèle approuvé, et remplissez ses variables à partir des variables de flow : numéro de commande, montant, lien de suivi. Utilisez des conditions pour envoyer des modèles différents selon le statut.

5. Renvoyez l’information si besoin. Un nœud Requête HTTP peut aller chercher plus de données dans votre propre système, ou y écrire la réponse du client, par exemple « confirmée » sur une commande en paiement à la livraison. Il continue sur Sortie quand l’appel réussit et sur En cas d’échec sinon, ce qui vous permet d’envoyer un message de repli ou d’attribuer la conversation à une personne.

Quand le client répond, la conversation arrive dans la même boîte de réception d’équipe MonoChat que vos autres conversations WhatsApp, Instagram et Messenger, où votre équipe ou un assistant IA peut prendre le relais. Pour construire des flows, voir l’automatisation des workflows.

Deux autres options, selon qui doit faire le travail :

  • Vos développeurs appellent déjà une API. L’application WhatsApp Template API envoie un modèle approuvé en un seul appel API, et les réponses arrivent dans la boîte de réception.
  • Vous êtes sur Shopify et voulez les données de commande dans le chat. L’automatisation du chat Shopify synchronise produits et commandes pour que l’équipe et l’assistant IA puissent répondre aux questions sur les commandes.

Pour commencer, créez un compte gratuit sur app.monochat.ai, connectez votre numéro WhatsApp et comparez les forfaits sur la page des tarifs.

Sources

FAQ

Questions fréquentes

Un webhook peut-il envoyer un message WhatsApp tout seul ?

Non. Un webhook se contente de signaler à un autre système qu’un événement a eu lieu, par exemple qu’une commande a été créée. Il faut un récepteur qui lit la requête, retrouve le client et envoie le message via la WhatsApp Business API. Dans MonoChat, ce récepteur est un flow qui démarre depuis sa propre URL de webhook.

Ai-je besoin d’un modèle de message pour écrire à un client depuis un webhook ?

Presque toujours. Les événements d’une boutique, d’un CRM ou d’un outil de réservation surviennent généralement quand le client ne vous a pas écrit dans les dernières 24 heures : la fenêtre de service client est donc fermée et seul un modèle de message WhatsApp approuvé peut être envoyé. Si le client vous a écrit dans les dernières 24 heures, un message normal est autorisé.

Quels événements Shopify ou WooCommerce valent la peine d’être envoyés sur WhatsApp ?

Commencez par ceux que vos clients attendent : commande confirmée, paiement échoué ou en attente, commande expédiée avec suivi, rendez-vous pris ou modifié. Gardez les messages promotionnels pour plus tard et envoyez-les uniquement aux clients qui ont consenti à recevoir du marketing.

Comment empêcher des inconnus de déclencher mes messages WhatsApp ?

Gardez l’URL du webhook privée et exigez un secret. Le système émetteur doit alors inclure ce secret, ou une signature HMAC-SHA256 du corps de la requête calculée avec lui, et les requêtes qui ne l’ont pas sont rejetées.

Les notifications de commande WhatsApp sont-elles gratuites ?

Non. Meta facture chaque modèle de message délivré selon sa catégorie et le pays. Depuis le 1er octobre 2026, les modèles utilitaires envoyés dans une fenêtre de service client ouverte sont de nouveau facturés, et chaque numéro de téléphone professionnel dispose de 1,000 messages de service gratuits par mois.

Premier mois de Growth offert

WhatsApp, Instagram et Messenger dans une seule boîte de réception

Commencez gratuitement avec MonoChat : boîte de réception d'équipe, assistants IA, modèles et campagnes sur les API officielles de Meta.

Un code par entreprise • 30 jours pour l’utiliser • Sans carte bancaire

$150 pour démarrer.

Obtenir