E-commerce · messagerie
Application de marketing WhatsApp pour Shopify : campagnes, relance des paniers et boîte de réception d'équipe dans l'administration de la boutique
Une application Shopify pour boutiques en ligne : campagnes WhatsApp, relance des paniers abandonnés, segments clients et boîte de réception d'équipe, avec envoi en masse régulé, webhooks idempotents et attribution du chiffre d'affaires.
- Secteur
- E-commerce · messagerie
- Technologies
- Remix · TypeScript · Prisma
Le défi
Un client qui exploite une plateforme de messagerie voulait que les marchands Shopify puissent faire du marketing WhatsApp sans quitter l'administration de leur boutique : envoyer des campagnes à des segments, récupérer les paniers abandonnés, confirmer les commandes payables à la livraison et répondre aux clients depuis une seule boîte de réception. WhatsApp impose ses propres contraintes. Les modèles de messages doivent être approuvés avant usage, l'envoi est limité en débit, et une campagne qui continue d'envoyer malgré les échecs gaspille de l'argent et nuit à la réputation de l'expéditeur. Les webhooks de la boutique arrivent aussi plus d'une fois, et un doublon ne doit jamais se traduire par un second message.
La solution
Nous avons développé une application Shopify intégrée sur Remix, avec un backend fondé sur des files d'attente. Les webhooks de la boutique sont dédoublonnés avant toute autre opération. Les segments proviennent d'un scoring RFM et d'un moteur de règles. Les campagnes partent par lots via des workers BullMQ, au rythme autorisé par la plateforme de messagerie, et l'envoi surveille ses propres résultats : il se met en pause quand le solde est bas ou quand le taux d'échec dépasse un seuil, respecte les plages de silence et les délais d'attente par contact, et affiche la progression en direct. Les commandes qui suivent un message lui sont attribuées : les marchands voient le chiffre d'affaires par campagne et par scénario.
Comment tout s'enchaîne
- 01 Webhooks de la boutique
- 02 Dédoublonnage et file
- 03 Segments RFM
- 04 Campagnes et paniers abandonnés
- 05 Boîte de réception d'équipe
- 06 Attribution des ventes
Ce que nous avons livré
- Envoi en masse par lots, avec régulation du débit, progression en direct, plages de silence, délais d'attente par contact et pause automatique en cas de solde bas ou de taux d'échec élevé
- Relance des paniers abandonnés en trois étapes avec codes de réduction, et confirmation des commandes payables à la livraison
- Scoring client RFM, segments prédéfinis et moteur de règles personnalisées
- Tests A/B avec un test de significativité avant de désigner un gagnant
- Recommandations de produits fondées sur les articles achetés ensemble, plus des alertes de retour en stock et de baisse de prix
- Boîte de réception d'équipe partagée avec attribution des conversations, réponses types, enquêtes de satisfaction et heures d'ouverture
- Scénarios de chatbot, réponses automatiques par mot-clé et éditeur de modèles WhatsApp avec aperçu en direct
- 11 extensions Shopify Flow et 4 blocs de vitrine : bouton de chat, bouton de partage, popup et formulaire d'inscription (opt-in)
- Environ 2'700 tests unitaires et 170 tests de bout en bout
Fonctionnalités
- Idempotence des webhooks avec une fenêtre de dédoublonnage de 24 heures dans Redis
- Disjoncteur (circuit breaker) et limiteur de débit autour de l'API de messagerie, nouvelles tentatives avec temporisation exponentielle pour chaque type de tâche, et file des messages en échec (dead-letter queue)
- Signatures vérifiées sur les webhooks entrants ; jetons d'accès chiffrés au repos avec AES-256-GCM
- Aucun numéro de téléphone dans les données des files d'attente ; limites de débit contre l'énumération et les abus ; protection contre le SSRF sur les appels sortants
- Données cloisonnées par boutique, webhooks RGPD obligatoires de Shopify traités et anciennes données purgées selon un calendrier
- Attribution du chiffre d'affaires du message à la commande, avec exports
- Interface en 10 langues, y compris des mises en page de droite à gauche
Intégrations
- Shopify Admin API, webhooks, Flow et extensions de thème (theme app extensions)
- Messagerie WhatsApp Business via l'API de la plateforme du client
- Cinq connecteurs vers des applications d'e-mail, de helpdesk et d'avis produits
- Sentry pour le suivi des erreurs
Technologies
Résultat
Développée et testée, avec les extensions de vitrine déployées dans la configuration de l'application. La soumission à l'App Store de Shopify est la prochaine étape.
Comment l’envoi protège-t-il le budget du marchand ?
Chaque lot rend compte de ses résultats avant le départ du suivant. Si le solde du compte devient trop bas ou si la part de messages en échec dépasse un seuil défini, la campagne se met elle-même en pause et en indique la raison au marchand, au lieu de dépenser le reste du budget en messages qui n’arriveront pas. Les plages de silence et les délais d’attente par contact évitent aux clients de recevoir plusieurs messages d’affilée, et un webhook de boutique reçu en double ne se traduit jamais par un second message.
Parlons de votre projet
Présentez-nous votre projet