Envoyer des messages de commande WhatsApp depuis Shopify
L'action Send HTTP request de Shopify Flow peut envoyer un template approuvé à la Cloud API à la création d'une commande, avec le phone number id du numéro connecté et un token stocké comme secret Flow. Sur les forfaits sans cette action, un webhook d'administration Shopify envoie la commande à un récepteur, comme n8n, qui effectue le même appel.
Les forfaits Shopify sur lesquels l'action Send HTTP request de Flow est disponible.
Le temps pendant lequel Flow attend une réponse HTTP avant de fermer la connexion et de réessayer plus tard.
Meta exige que les entreprises obtiennent un opt-in avant d'écrire à des personnes sur WhatsApp.
Comment Shopify Flow envoie-t-il un message WhatsApp ?
Avec l'action Send HTTP request, qui envoie une requête à n'importe quelle URL, avec des en-têtes et un corps pouvant utiliser les variables Liquid du déclencheur.
Créez un workflow sur le déclencheur de création de commande et ajoutez Send HTTP request. L'URL est l'endpoint messages de la Cloud API pour le phone number id du numéro connecté. Ajoutez un en-tête Authorization dont la valeur est Bearer suivi du token d'accès du numéro, stocké comme secret Flow et référencé comme variable secrète. Les valeurs secrètes ne s'affichent jamais dans l'interface de Flow et sont masquées dans les journaux d'exécution, ce qui est bien la place d'un token. Le corps est un message de type template, avec le numéro de téléphone du client dans le champ to et les détails de la commande comme paramètres du template.
Flow considère une réponse 2XX ou 3XX comme un succès. Meta répond à une requête valide avec l'identifiant du message : une exécution réussie signifie donc que Meta a accepté le message.
{
"messaging_product": "whatsapp",
"to": "<customer phone, digits only>",
"type": "template",
"template": {
"name": "order_confirmation",
"language": { "code": "en" },
"components": [{
"type": "body",
"parameters": [{ "type": "text", "text": "{{order.name}}" }]
}]
}
}Pourquoi un message de commande doit-il être un template ?
Parce que la boutique écrit en premier. La fenêtre de service client de 24 heures de Meta ne s'ouvre que lorsque le client écrit au numéro. Une confirmation de commande, un suivi d'expédition ou une relance de panier abandonné partent avant cela : le texte libre est donc refusé et seul un template pré-approuvé passe.
Créez le template une fois, dans la catégorie utility pour les mises à jour de commande et d'expédition, et attendez son approbation avant d'activer le workflow. Le nom et la langue dans le corps de la requête doivent correspondre exactement au template approuvé, et le nombre de paramètres doit correspondre à ses variables.
Il y a aussi le consentement. Meta exige un opt-in avant qu'une entreprise écrive à quelqu'un sur WhatsApp : la personne a donné son numéro et accepté de recevoir des messages de cette entreprise. Une case à cocher au paiement qui le dit est la façon habituelle de le recueillir, et le workflow doit la vérifier avant l'envoi.
Que faire si le forfait de la boutique n'inclut pas Send HTTP request ?
Utilisez plutôt un webhook d'administration Shopify. Dans Paramètres, Notifications, Webhooks, un marchand peut créer un webhook pour un événement comme la création d'une commande, en JSON, vers une URL. Dirigez-le vers un récepteur : un nœud Webhook n8n, ou une route en PHP, Python ou Node. Le récepteur lit la commande, vérifie le consentement et effectue le même appel de template à la Cloud API.
Quel que soit le chemin d'envoi, les réponses sont les mêmes. Lorsque le client répond au message de commande, sa réponse arrive dans l'app WhatsApp Business sur le téléphone de la boutique, car le numéro est en Coexistence, et la fenêtre de 24 heures est alors ouverte pour le texte libre. Si la destination webhook du numéro est définie, la réponse parvient aussi à votre système. Le message de commande lui-même apparaît aussi dans l'app, si bien que la personne qui répond voit à quoi le client répond.
Erreurs courantes
- Envoyer du texte libre à la création de la commande. Le client n'a pas écrit, donc Meta le refuse : il faut un template approuvé.
- Laisser la gestion des erreurs sur « Réessayer » pour les réponses 4XX. Flow peut réessayer pendant 24 heures une requête que Meta n'acceptera jamais.
- Mettre le token en clair dans un en-tête. Stockez-le comme secret Flow pour qu'il reste hors de l'interface et des journaux.
Connectez le numéro de la boutique sur easycoexistence.com, lisez son phone number id et son token dans le dashboard, puis dirigez Flow ou votre récepteur vers la Cloud API. À partir de US$ 9 par numéro et par mois, jusqu'à US$ 1 à mesure que vous ajoutez des numéros, avec les 3 premiers jours gratuits.
Questions fréquemment posées
Qui paie les messages de template ?
Meta facture l'envoi directement à l'entreprise, sur son propre compte WhatsApp Business. EasyCoexistence n'y ajoute jamais de marge.
L'équipe peut-elle toujours répondre aux clients depuis le téléphone ?
Oui. C'est ce que préserve Coexistence : l'app WhatsApp Business fonctionne sur le même numéro que celui d'où la boutique envoie.
Faut-il une application Shopify ?
Non. Send HTTP request de Flow, ou un webhook d'administration vers un récepteur, suffit. La Cloud API tient en un appel HTTPS.
Quel format de numéro le champ to exige-t-il ?
Le format international, avec l'indicatif du pays et uniquement des chiffres. Nettoyez le champ téléphone du paiement avant l'envoi, car les clients saisissent des espaces et des symboles.
Poursuivre la lecture
Prêt à commencer ?
Configurez WhatsApp Coexistence en quelques minutes, pas en quelques mois. L’application continue de fonctionner sur le téléphone.
Commencer l'essai gratuitVérifié le