WhatsApp Commerce Suite Shopware — Guide d’installation et de configuration
Installer le plugin, connecter la Meta Cloud API, configurer le webhook, les templates HSM et les 4 modules sur Shopware 6.5, 6.6 et 6.7.
Prérequis
- Shopware 6.5, 6.6 ou 6.7 (codebase unique), PHP 8.1 minimum
- Un compte WhatsApp Business avec un numéro vérifié dans Meta Business Suite
- Une app Meta de type Business avec le produit WhatsApp activé
- Le worker de file d’attente et le runner de tâches planifiées Shopware actifs (
messenger:consumeetscheduled-task:run)
Installation
- Copiez le dossier
DfWhatsAppCommercedanscustom/plugins/(ou téléversez le zip via Extensions → Mes extensions). - Installez et activez :
bin/console plugin:refresh bin/console plugin:install --activate DfWhatsAppCommerce bin/console cache:clear - Compilez l’administration et le storefront :
bin/build-administration.sh bin/build-storefront.sh
df_wac_ et 2 tâches planifiées (relance panier toutes les 15 min, batch catalogue horaire). Tout est supprimé proprement à la désinstallation, sauf si vous cochez « conserver les données ».Configuration Meta Cloud API
1. Récupérer les identifiants
Dans developers.facebook.com, créez une app Business et ajoutez le produit WhatsApp. Récupérez : le jeton permanent (utilisateur système avec permissions whatsapp_business_messaging et catalog_management), le Phone number ID, le WABA ID et l’App secret (Paramètres de l’app → Général).
2. Créer le catalogue
Dans Meta Commerce Manager, créez un catalogue et connectez-le à votre compte WhatsApp Business. Notez l’ID du catalogue.
3. Configurer le webhook
Dans l’app Meta → WhatsApp → Configuration :
- URL de rappel :
https://votreboutique.tld/df-wac/webhook - Jeton de vérification : la valeur que vous saisissez dans la config du plugin (champ « Webhook verify token »)
- Abonnez-vous au champ
messages
X-Hub-Signature-256 des webhooks n’est pas validée.4. Saisir la configuration dans Shopware
Réglages → Système → Plugins → DataFirefly WhatsApp Commerce Suite. Renseignez la carte « API Meta Cloud », puis testez depuis le tableau de bord (Marketing → WhatsApp Commerce) : bouton Tester la connexion API et envoi d’un message test.
Les 4 modules
Catalogue Meta
Trois modes : temps réel (à chaque enregistrement de produit), batch horaire, ou manuel. Les variantes sont envoyées individuellement avec le retailer_id sw_{numéro d'article}. Excluez des catégories si besoin. La resynchronisation complète (lots de 100) se lance depuis le tableau de bord.
Commande conversationnelle
Machine à états 6 niveaux. Mots-clés reconnus (FR/EN/DE) : menu, panier, payer, humain, reset, aide. La langue du client est détectée automatiquement. Le transfert humain envoie un e-mail à l’adresse configurée avec le lien de la conversation.
Relance panier abandonné
3 relances configurables (60 min, 24 h, 72 h par défaut) envoyées par la tâche planifiée toutes les 15 minutes, aux clients dont le téléphone de facturation est connu. Le code promo saisi en config est joint à la 3e relance et appliqué automatiquement au panier restauré.
Lien de paiement signé & notifications
Les liens de checkout et de récupération de panier sont signés HMAC SHA-256 avec expiration configurable (72 h par défaut). Notifications automatiques : confirmation de commande, expédition (avec n° de suivi), échec de paiement.
Templates HSM à créer dans Meta Business Suite
| Template | Variables corps | Bouton |
|---|---|---|
| Relance 1 & 2 | {{1}} nom client, {{2}} total panier | URL dynamique (suffixe = token) |
| Relance 3 | {{1}} nom, {{2}} total, {{3}} code promo | URL dynamique (suffixe = token) |
| Confirmation | {{1}} nom, {{2}} n° commande, {{3}} total | — |
| Expédition | {{1}} nom, {{2}} n° commande, {{3}} n° suivi | CTA suivi (optionnel) |
| Échec paiement | {{1}} nom, {{2}} n° commande | CTA relance (optionnel) |
Pour les relances, le bouton URL du template doit avoir pour base https://votreboutique.tld/df-wac/cart/restore?token= avec suffixe dynamique {{1}}. Saisissez les noms des templates approuvés dans la configuration du plugin.
Administration
Marketing → WhatsApp Commerce : tableau de bord KPI (conversations, non-lus, paniers, taux de récupération, erreurs), page Conversations (fil style WhatsApp Web, réponse directe), Paniers abandonnés, Catalogue (journal de sync) et Journaux (filtres niveau/canal).
Dépannage
- Rien ne s’affiche en front : vérifiez que le « Numéro WhatsApp public » est renseigné (le bouton flottant et les CTA en dépendent), puis
bin/console cache:clear. - Webhook 403 : jeton de vérification différent entre Meta et le plugin, ou App secret erroné.
- Relances non envoyées : vérifiez que
scheduled-task:runetmessenger:consumetournent, que le module est actif et que les templates HSM sont approuvés. - Produits non synchronisés : consultez la page Catalogue (statuts pending/synced/error) et les Journaux, canal
catalog.
RGPD
Aucune donnée n’est envoyée à des tiers hors Meta WhatsApp Cloud API. Conversations et numéros sont stockés localement dans les tables df_wac_ et supprimés à la désinstallation.