Il n'existe pas d'ordre de canaux universel
La plupart des conceptions de repli commencent par une échelle de canaux, puis découvrent qu'elle est fausse pour la moitié des parcours. L'ordre est un résultat, pas une entrée. Les entrées sont l'objectif métier et le délai utile.
Ce que la politique évalue réellement
Avant chaque tentative : l'objectif et le critère de réussite ; le délai utile au-delà duquel livrer n'aide plus ; le consentement et la préférence exprimée ; la destination vérifiée ; la disponibilité du canal sur ce marché et l'approbation de votre expéditeur ; l'urgence et la sensibilité du contenu ; le coût par résultat obtenu ; et la fiabilité du signal.
Signaux fiables et signaux ambigus
Un rejet à la soumission justifie de passer au canal suivant. Un accusé de livraison indique que le canal a atteint l'appareil, pas que quelqu'un l'a vu. Un indicateur de lecture ne prouve pas l'attention et peut être désactivé. L'absence de statut est une ambiguïté, pas une panne : traiter le silence comme une panne produit des doublons.
Un parcours, une identité
Un identifiant de parcours, créé au moment où l'on décide de communiquer, présent dans chaque tentative, callback et résultat. Il en découle : l'éligibilité est réévaluée avant chaque tentative ; idempotence et déduplication au niveau du parcours ; état de la tentative et état du parcours conservés séparément ; les conditions d'arrêt priment lorsque l'objectif est atteint ou que l'état métier change ; les callbacks tardifs sont enregistrés sans réouvrir un parcours terminé.
Série ou parallèle
En série par défaut. En parallèle lorsque la conséquence d'un message manqué dépasse clairement le coût de la duplication — sécurité, fraude, incident — ou lorsque le délai ne permet pas une chaîne en série. Pour un code que l'utilisateur attend, la contrainte est le délai, pas une règle sur les canaux autorisés ; ce qu'on évite, c'est un second code pour la même session.
Table de décision
| Parcours | Objectif et délai | Logique d'ordre | Conditions d'arrêt |
|---|---|---|---|
| Code d'authentification | Code dans la session en cours | Canal le plus rapide avec signal fiable et destination vérifiée | Vérification, fin de session, délai |
| Livraison ou rendez-vous | Informer le destinataire avant l'événement | Canal préféré, puis le suivant adapté | Confirmation, événement survenu ou annulé |
| Relance de paiement | Paiement avant l'échéance | Canal avec consentement et confiance d'identité, escalade vers un canal de réponse | Paiement, accord, changement de statut |
| Suivi support | Réponse obtenue | Le canal de la conversation | Réponse, ticket clos |
| Promotionnel | Interaction consentie | Canal autorisé le moins cher, sans répéter la même offre | Désinscription, plafond de fréquence, fin de campagne |
| Opérationnel urgent | Accusé de réception | En parallèle sur les canaux adaptés, puis escalade humaine | Accusé ou escalade terminée |
Machine à états
parcours: PLANIFIE -> TENTATIVE -> TERMINE | ARRETE | EPUISE
par tentative : vérifier délai et conditions d'arrêt, réévaluer l'éligibilité,
créer la tentative avec une clé enregistrée avant la soumission
résultats : rejet ou échec final -> candidat suivant
livré sans objectif atteint -> attendre le délai de cette tentative
aucun statut à l'échéance -> AMBIGU (continuer, c'est accepter la duplication)
action du destinataire -> TERMINE, annuler les tentatives ouvertes
callback tardif : enregistrer, ne jamais réouvrir un parcours terminé
La branche ambiguë est l'endroit où la plupart des conceptions échouent en silence. Là où la duplication nuit — un second code, une seconde relance — attendre ou arrêter est généralement le bon choix.
Attribution et coût
Résultats par type de parcours et position dans la chaîne ; coût par résultat obtenu sur l'ensemble de la chaîne ; taux de duplication ; taux d'ambiguïté ; efficacité des conditions d'arrêt. Si l'essentiel des résultats arrive en deuxième ou troisième position, la première est mauvaise pour cette population.
Le modèle de fourniture
Flowstates vend et exploite des routes de messagerie sur plusieurs canaux, prend en charge les contrats fournisseurs propres au client (BYOV) et les modèles hybrides. La logique de chaîne reste le même travail dans tous les cas et doit vivre à côté de l'état métier qui définit l'objectif.