Aller au contenu principal

Créer et modifier les messages de rappel

Les messages de rappel sont les e-mails individuels que votre boutique envoie aux clients qui n'ont pas encore réglé leur commande.

remarque

Disponible depuis la v1.0.0

Chaque message possède son propre calendrier, son propre contenu et un déclencheur d'annulation optionnel.

Vue d'ensemble

Order Payment Reminders Pro fonctionne en exécutant un processus quotidien (via cron) qui analyse vos commandes impayées et associe chacune d'elles au rappel approprié en fonction du temps écoulé depuis la création de la commande. Vous définissez autant de messages que nécessaire — une relance légère à J+2, un suivi à J+5, un avertissement final à J+9, et ainsi de suite.

Chaque message de rappel est indépendant. Vous contrôlez :

  • Quand il est envoyé — un nombre d'heures ou de jours après la création de la commande.
  • À quel moyen de paiement il s'applique — les clients ayant payé par virement bancaire reçoivent ainsi des e-mails différents de ceux ayant utilisé un autre mode de paiement hors ligne.
  • Ce qu'il dit — un objet traduisible et un corps en texte enrichi, avec des variables tirées de la commande.
  • S'il annule la commande — en option, l'exécution du cron qui envoie ce message annule également la commande impayée au même moment.

Les messages sont stockés en base de données et listés par ordre chronologique dans le Back Office, ce qui vous permet de visualiser en un coup d'œil l'intégralité de votre séquence d'envoi.

Configuration

Ajouter un nouveau message

  1. Allez dans Modules > Gestionnaire de modules, trouvez Order Payment Reminders Pro et cliquez sur Configurer.
  2. Faites défiler jusqu'au panneau Messages et cliquez sur Ajouter un nouveau message.
  3. Le formulaire s'ouvre avec trois sections : Planification, Contenu de l'e-mail et Options avancées.

Section Planification :

ChampValeursRequisDescription
Module de paiementListe déroulanteOuiLe moyen de paiement auquel ce message s'applique. Alimenté à partir des commandes de votre boutique. Si aucune commande n'existe encore, les valeurs par défaut bankwire et ps_wirepayment sont proposées. Chaque message cible exactement un moyen de paiement.
Unité de tempsJours / HeuresOuiIndique si le nombre ci-dessous est en jours calendaires ou en heures.
Délai après la création de la commandeEntier positifOuiDélai entre la création de la commande et l'envoi de ce rappel. Doit être supérieur ou égal à 1. Les décimales ne sont pas acceptées.

Section Contenu de l'e-mail :

ChampValeursRequisDescription
Utiliser un modèleListe déroulante (14 options)NonPré-remplit l'objet et le corps à partir d'un modèle pré-rédigé. Affiché uniquement lors de la création d'un nouveau message — non disponible en mode édition. Groupé en : Relance légère, Suivi persistant, et Urgent / Final.
Objet de l'e-mailTexte brut, par langueOui (langues actives)Ligne d'objet de l'e-mail de rappel. Doit être renseigné pour chaque langue active. Supporte les variables — voir Variables de modèle d'e-mail.
Message à envoyerÉditeur de texte enrichi, par langueOui (langues actives)Corps HTML de l'e-mail de rappel. L'éditeur TinyMCE se charge automatiquement. Doit être renseigné pour chaque langue active. Supporte les variables.

Section Options avancées :

ChampValeursDéfautDescription
Annuler la commande après ce messageActivé / DésactivéDésactivéLorsqu'il est activé, l'exécution du cron qui envoie ce message modifie également le statut de la commande en Annulée et restaure le stock.
  1. Cliquez sur Enregistrer. Vous êtes renvoyé à la liste des messages et une confirmation s'affiche.

Si vous tentez d'enregistrer un message avec le même module de paiement, la même unité de temps et le même calendrier qu'un message existant, le module affichera une erreur de doublon de planification. Chaque combinaison doit être unique par moyen de paiement.

Modifier un message existant

  1. Dans la liste Messages, cliquez sur l'icône Modifier (crayon) sur la ligne souhaitée.
  2. Le même formulaire s'ouvre, pré-rempli avec les valeurs actuelles.
  3. Effectuez vos modifications et cliquez sur Enregistrer.

L'objet et le corps sont stockés par langue et par boutique. Si votre boutique comporte plusieurs langues actives, le formulaire affiche un onglet de langue pour chacune d'elles. Vous devez renseigner l'objet et le corps pour chaque langue active avant d'enregistrer.

Activer ou désactiver « Annuler la commande » sans ouvrir le formulaire

Cliquez sur le bouton bascule dans la colonne Annuler la commande directement depuis la liste. La page se recharge et confirme la modification. Il n'est pas nécessaire d'ouvrir le formulaire d'édition.

Supprimer un message

Cliquez sur l'icône Supprimer (corbeille) sur la ligne concernée et confirmez lorsque vous y êtes invité. Vous pouvez également sélectionner plusieurs messages via les cases à cocher et utiliser Supprimer la sélection dans le menu d'actions groupées en bas de la liste.

La suppression d'un message est permanente. Le cron arrête de l'envoyer dès la prochaine exécution. Les données historiques sur les commandes ayant reçu ce message ne sont pas affectées.

Fonctionnement

Comment le moteur cron sélectionne le prochain message à envoyer

Lorsque le cron s'exécute, il calcule le nombre d'heures écoulées depuis la création de chaque commande impayée. Pour chaque commande, il identifie ensuite le message dont le seuil de temps est le plus élevé sans dépasser le temps écoulé et qui n'a pas encore été envoyé pour cette commande.

Par exemple : si vous avez des messages à J+2, J+5 et J+9, et qu'une commande a maintenant 6 jours sans aucun message envoyé, le cron envoie le message de J+5. Le message de J+2 est ignoré — il n'y a pas de rattrapage.

Une fois un message envoyé, l'enregistrement de la commande est mis à jour afin que le même message ne soit pas renvoyé. Lors de la prochaine exécution du cron, le moteur passe au seuil suivant.

Fonctionnement des « Jours » et des « Heures »

Lorsque vous choisissez Jours, le nombre de planification est multiplié en interne par 24 pour être converti en heures avant comparaison. Lorsque vous choisissez Heures, le nombre est utilisé tel quel. Cela signifie que « 2 jours » est traité de manière identique à « 48 heures » — les deux correspondent à un seuil de 48 heures.

Séquences par moyen de paiement

Chaque message est lié à exactement un moyen de paiement. Le moteur cron lit le moyen de paiement enregistré sur la commande et n'envoie que les messages appartenant à ce moyen de paiement. Si vous avez des clients payant par virement bancaire et d'autres par paiement à la livraison, créez des séquences de messages séparées pour chacun.

La liste déroulante du moyen de paiement est construite à partir de la colonne module de vos commandes existantes. Si vous venez d'installer le module et n'avez encore aucune commande, deux options par défaut apparaissent : bankwire et ps_wirepayment. Au fur et à mesure que de vraies commandes arrivent, la liste s'enrichit de tous les moyens de paiement ayant traité une commande dans votre boutique.

Ce qui se passe lorsque l'annulation de commande est activée

Lorsque le cron envoie un message pour lequel l'option Annuler la commande après ce message est activée, il annule immédiatement la commande et restaure le stock lors de la même exécution. Cette action est indépendante du paramètre global d'annulation automatique, qui annule les commandes indépendamment de l'envoi d'un rappel. Les deux mécanismes peuvent coexister.

Exemples d'utilisation

Exemple : une séquence en 3 étapes pour le virement bancaire

Cette configuration envoie un rappel amical à J+2, une relance plus ferme à J+5, et un avis de clôture final à J+9 qui ferme automatiquement la commande.

#Module de paiementUnité de tempsPlanificationAnnuler la commande
1bankwireJours2Non
2bankwireJours5Non
3bankwireJours9Oui

Pour le troisième message, utilisez {daysleft} et {hoursleft} dans l'objet pour rendre l'urgence concrète : « Votre commande sera annulée dans {daysleft} jours ». Ajoutez la variable {urgency_banner} dans le corps pour afficher un bloc de compte à rebours coloré qui change de couleur à l'approche de l'échéance.

Exemple : un seul rappel juste avant l'annulation automatique globale

Si votre annulation automatique globale est réglée sur 7 jours et que vous souhaitez envoyer un avertissement à J+6 :

#Module de paiementUnité de tempsPlanificationAnnuler la commande
1bankwireJours6Non

Laissez Annuler la commande après ce message désactivé — l'annulation automatique globale gère l'annulation à J+7. Ce message est purement informatif et donne au client une dernière chance d'agir.

Exemple : rappels horaires serrés pour une fenêtre de paiement de 48 heures

Certaines boutiques acceptent les paiements hors ligne avec un délai de 48 heures. La planification en heures offre un contrôle plus fin :

#Module de paiementUnité de tempsPlanificationAnnuler la commande
1bankwireHeures12Non
2bankwireHeures36Non
3bankwireHeures48Oui

Le cron s'exécute une fois par jour par défaut. Si vous utilisez une planification en heures, la résolution reste d'une vérification par jour, sauf si vous configurez votre cron pour s'exécuter plus fréquemment — par exemple toutes les heures.

Remarques importantes

  • Contrainte d'unicité de planification. La combinaison du module de paiement, de l'unité de temps (jours/heures) et du numéro de planification doit être unique par moyen de paiement. Vous ne pouvez pas avoir deux messages pour bankwire tous deux réglés sur « 2 jours ». Le module affiche une erreur de doublon si vous essayez.

  • Affichage chronologique. La liste des messages est triée par nombre total d'heures, de sorte que votre séquence apparaît toujours dans l'ordre d'envoi, quelle que soit l'ordre de création des messages.

  • Multi-langue. L'objet et le corps sont stockés par langue et par boutique. Si vous ajoutez une nouvelle langue active à votre boutique ultérieurement, modifiez chaque message pour renseigner les champs de la nouvelle langue. Les langues inactives peuvent avoir un contenu vide.

  • Multi-boutique. Dans une configuration multi-boutique, le contenu linguistique (objet et corps) est enregistré pour le contexte de la boutique active. Les paramètres de planification (délai, module de paiement, indicateur d'annulation) sont partagés entre toutes les boutiques. Basculez vers la boutique appropriée dans l'en-tête du Back Office avant de modifier le contenu des messages si vous avez besoin d'un contenu spécifique à une boutique.

  • Mode test. Lorsque le mode test est actif, le cron envoie tous les e-mails uniquement à l'adresse de test et ne met pas à jour l'enregistrement de suivi ni n'annule aucune commande. Cela signifie que vous pouvez déclencher le cron plusieurs fois et que les mêmes messages s'envoient à chaque fois. Désactivez le mode test avant de passer en production.

  • Sélecteur de modèle. Le sélecteur de modèles pré-rédigés n'apparaît que sur le formulaire de nouveau message. Il n'est pas affiché sur le formulaire d'édition d'un message existant. Pour appliquer un modèle différent à un message existant, collez le contenu du modèle manuellement ou supprimez et recréez le message.

  • Fréquence du cron. Le cron traite chaque commande une fois par exécution et la fait progresser vers le seuil suivant. Pour que les planifications en heures fonctionnent comme prévu, votre cron doit s'exécuter au moins aussi souvent que votre plus petit intervalle horaire.

Dépannage

ProblèmeSolution
Erreur « L'unité de temps et le délai après la création de la commande correspondent au message id X » lors de l'enregistrementVous avez déjà un message avec le même module de paiement, la même unité de temps et la même planification. Modifiez le numéro de planification ou éditez le message en conflit.
Le champ objet ou message affiche une erreur concernant une langue videToutes les langues actives doivent avoir un objet et un corps. Cliquez sur chaque onglet de langue dans le formulaire et renseignez les champs manquants.
Le module de paiement dont j'ai besoin n'apparaît pas dans la liste déroulanteLa liste déroulante est construite à partir des vraies commandes. Passez une commande de test avec ce moyen de paiement (elle peut être annulée ensuite) pour qu'il apparaisse dans la liste.
Un message n'est pas envoyé par le cronVérifiez que la planification est correcte et que vous n'êtes pas en mode test. Vérifiez également que le cron est bien en cours d'exécution — voir Configuration du cron.
Le message modifié n'est pas pris en compte pour les commandes ayant déjà reçu des messages précédentsC'est le comportement attendu. Le moteur ignore un seuil si l'enregistrement de suivi de la commande indique déjà un message à ce seuil ou au-delà. Le contenu mis à jour sera utilisé la prochaine fois que la commande atteindra un nouveau seuil.
Erreur « Seul le HTML et le CSS sont autorisés » lors de l'enregistrement du corps du messageL'éditeur TinyMCE a accepté du contenu avec des balises non autorisées (script, iframe, etc.). Passez en vue source dans l'éditeur et supprimez ces balises.
Un message a été supprimé mais les commandes semblent toujours le sauterLe moteur ignore les seuils supprimés et passe directement au suivant qui existe. Confirmez la suppression en consultant la liste des messages — les messages supprimés disparaissent immédiatement.

Foire aux questions

Puis-je avoir des séquences de rappels différentes pour différents moyens de paiement ?

Oui. Chaque message est lié à exactement un moyen de paiement. Créez un ensemble de messages distinct pour chaque moyen de paiement que vous acceptez — le moteur cron envoie la séquence appropriée en fonction du mode de règlement choisi par le client.

Que se passe-t-il pour une séquence si je supprime l'un des messages en milieu de séquence ?

Le moteur cron sélectionne le message dont le seuil de temps écoulé est le plus élevé et qui n'a pas encore été envoyé. Si vous supprimez le message de J+5, une commande en attente de ce message recevra le message de J+9 lorsque ce délai sera atteint. L'étape supprimée est entièrement ignorée — aucun rattrapage n'a lieu.

L'option « Annuler la commande après ce message » remplace-t-elle le paramètre global d'annulation automatique ?

Ils sont indépendants. L'annulation automatique globale (dans les Paramètres généraux) annule les commandes après un nombre fixe de jours, quel que soit le dernier rappel envoyé. L'indicateur d'annulation par message annule la commande au moment précis où ce message spécifique est expédié. Vous pouvez utiliser l'un, l'autre, les deux ou aucun.

Puis-je régler un message pour qu'il s'envoie à 0 jour ou 0 heure ?

Non. La planification doit être un entier positif supérieur à zéro. Le délai minimal avant l'envoi d'un message est de 1 heure après la création de la commande.

Comment le module décide-t-il quel message envoyer si le cron s'exécute moins d'une fois par heure ?

Le moteur calcule le nombre total d'heures écoulées depuis la création de la commande et identifie le message dont le seuil est le plus élevé et qui n'a pas encore été envoyé. Si le cron s'exécute quotidiennement et que vous avez des messages à J+2 et J+5, une commande de 6 jours sans messages envoyés recevra le message de J+5. Pour les planifications en heures, configurez votre cron pour s'exécuter toutes les heures afin d'obtenir les meilleurs résultats.

J'ai deux langues actives. Dois-je créer des enregistrements de messages séparés pour chaque langue ?

Non. Un seul enregistrement couvre toutes les langues. Le formulaire affiche un onglet de langue pour chaque langue active, et vous renseignez l'objet et le corps pour chacune. Le module envoie automatiquement l'e-mail dans la langue du client.

Les modifications apportées à un message existant affectent-elles les commandes ayant déjà reçu des messages précédents dans la séquence ?

Oui. Le module récupère le contenu actuel du prochain message au moment de l'envoi. Si vous mettez à jour le corps du message 3 aujourd'hui, toute commande qui recevra le message 3 demain obtiendra la version mise à jour.

Puis-je utiliser le même numéro de planification avec Jours et Heures pour le même module de paiement ?

Oui. « 5 jours » et « 5 heures » sont considérés comme des entrées différentes car l'unité de temps diffère, et les deux peuvent donc coexister pour le même moyen de paiement. Ce que vous ne pouvez pas avoir, c'est deux enregistrements « 5 jours » pour le même moyen de paiement.

Fonctionnalités associées

  • Modèles d'e-mail — Personnalisez le gabarit HTML externe qui enveloppe chaque e-mail de rappel.
  • Variables de modèle d'e-mail — Référence complète de toutes les {variables} utilisables dans les objets et les corps de messages.
  • Annulation automatique des commandes — Paramètre global qui annule les commandes impayées après un nombre fixe de jours, indépendamment des indicateurs d'annulation par message.
  • Mode test — Envoyez tous les rappels à une adresse de test avant de passer en production.
  • Configuration du cron — Configurez le cron quotidien (ou horaire) qui déclenche le processus d'envoi.