Retour au blog Opérations SMS A2P

Classes de service pour les SMS A2P : transformer l’urgence en politiques opérationnelles

Définissez des classes de service A2P selon les conséquences d’un retard, d’un doublon ou de la perte d’un message. Un cadre pratique pour documenter les priorités, l’expiration, les tentatives de renvoi, le suivi et l’escalade, sans confondre politiques internes et garanties de routage.

Matrice opérationnelle définissant les classes de service SMS A2P selon l’urgence, l’expiration, les tentatives de renvoi et leurs conséquences

Pourquoi le type de message ne suffit pas à déterminer sa priorité opérationnelle

A2P désigne les messages envoyés d’une application ou d’un logiciel vers une personne. Cette catégorie indique l’origine du trafic, mais pas l’importance qu’un message donné arrive maintenant, plus tard ou pas du tout. Le nom du cas d’usage ne suffit pas non plus à trancher cette question.

Un OTP peut permettre une action urgente, mais son impact dépend du processus qu’il protège, de la durée de validité du code et des solutions de remplacement disponibles. Une alerte transactionnelle peut être critique dans un contexte et simplement informative dans un autre. De même, une communication promotionnelle légitime ne devient pas urgente du seul fait qu’elle appartient à une catégorie donnée.

Il est préférable de classer les messages selon leurs conséquences opérationnelles : que se passe-t-il si le message est retardé, envoyé en double, non remis ou affiché à la mauvaise personne ? La classification doit découler de l’objectif et de la conception du service, et non d’une étiquette de trafic appliquée automatiquement.

  • Documentez l’objectif de chaque flux de messages.
  • Évaluez séparément les retards, les doublons, les pertes et l’exposition des données.
  • N’utilisez pas OTP, transactionnel ou marketing à la place d’une analyse d’impact.
Pourquoi le type de message ne suffit pas à déterminer sa priorité opérationnelle

Définir des classes en fonction des conséquences des retards, des doublons, des pertes et de l’exposition

Une classe de service est une politique interne qui regroupe des messages ayant des besoins opérationnels comparables. Ce n’est ni une propriété universelle des SMS ni une garantie de traitement sur le réseau. Elle permet de rendre explicites des décisions qui, autrement, seraient dispersées entre applications, équipes et fournisseurs.

Pour la concevoir, décrivez d’abord les préjudices concrets associés à chaque type de défaillance. Un retard peut rendre une instruction caduque ; un doublon peut semer la confusion chez le destinataire ou déclencher une action répétée ; une perte peut bloquer une tâche ; l’exposition du contenu peut révéler des informations qui ne devraient pas rester accessibles. Évaluez chaque impact selon des critères approuvés par les équipes responsables, sans attribuer de notes qui sembleraient être des mesures réelles si elles ne le sont pas.

Définissez ensuite les comportements acceptables. Par exemple, l’équipe peut décider qu’un message n’est plus utile au-delà d’un certain délai, ou qu’un nouvel envoi nécessite une vérification préalable. Le délai, la logique de nouvelle tentative et les mesures de confidentialité doivent correspondre au processus métier et aux obligations applicables : il n’existe pas de valeur unique adaptée à tous les messages.

  • Précisez le résultat attendu et le coût d’un retard.
  • Définissez à partir de quand un message est considéré comme obsolète et ce qui doit se passer ensuite.
  • Analysez les doublons, les contenus sensibles, les erreurs de destinataire et les solutions de remplacement aux SMS.
  • Faites valider les impacts pertinents par les équipes produit, opérations, ingénierie et sécurité.
Définir des classes en fonction des conséquences des retards, des doublons, des pertes et de l’exposition

Créer une matrice de décision avec des critères vérifiables et des responsables désignés

Une matrice aide à transformer l’analyse en une politique révisable. Elle peut indiquer une classe, les flux concernés, les conséquences de chaque type de défaillance, la date d’expiration fonctionnelle, la règle de nouvelle tentative, le niveau d’observabilité et la personne chargée d’approuver les modifications. Distinguez les données vérifiées des hypothèses et indiquez comment chaque décision sera vérifiée.

Privilégiez des catégories faciles à gérer plutôt que de créer une classe pour chaque modèle de message ou chaque client. Une première structure peut distinguer les messages urgents, les messages importants sans échéance immédiate et les messages pouvant être différés. Les intitulés relèvent d’une convention interne : l’essentiel est que chaque classe ait des critères d’inclusion clairs et un traitement défini.

La matrice doit également préciser les exceptions et les contrôles. Si un flux comprend des messages aux impacts différents, évitez d’attribuer la classe la plus élevée à l’ensemble du trafic par commodité. Désignez les personnes habilitées à autoriser des exceptions, leur durée et les éléments à conserver pour les examiner.

  • Champs suggérés : classe, flux, impact d’un retard, impact d’un doublon, impact d’une perte et sensibilité du contenu.
  • Ajoutez l’expiration, les tentatives de renvoi, l’observabilité, les seuils d’escalade et le responsable.
  • Consignez les hypothèses, les exceptions, la date d’approbation et la prochaine révision.
  • Confiez chaque décision à une personne ou à une équipe, et pas uniquement la configuration technique.

Traduire chaque classe en politiques d’expiration, de nouvelles tentatives, de priorité et d’escalade

L’expiration doit indiquer jusqu’à quand il est pertinent de tenter de remettre un message, au regard de son objectif. Distinguez la date d’expiration fonctionnelle du message de tout paramètre technique proposé par une API, un protocole ou une route. Avant de vous appuyer sur un paramètre, vérifiez sa disponibilité, sa signification, ses limites et son comportement dans la documentation applicable et auprès de l’interlocuteur concerné.

Les nouvelles tentatives nécessitent des règles explicites : quel événement les déclenche, combien de tentatives sont autorisées, quel délai les sépare et quand elles cessent. Gardez à l’esprit qu’une confirmation technique ne prouve pas toujours que la personne a reçu le contenu sur son terminal. Des tentatives de renvoi systématiques peuvent créer des doublons ou remettre un message devenu inutile ; le système métier doit prévoir ces situations.

La priorité peut servir à ordonner les tâches dans une plateforme interne, si cette plateforme dispose effectivement de cette fonction. Elle ne doit pas être présentée comme une priorité réseau ou un traitement préférentiel sur une route, sauf si une documentation contractuelle ou technique le confirme. L’escalade doit, quant à elle, préciser des conditions observables, les responsables, les délais de réponse internes et les actions autorisées, sans promettre qu’elle résoudra le problème de livraison.

  • Définissez l’état ou l’événement qui déclenche une nouvelle tentative et celui qui y met fin.
  • Évitez de renvoyer les messages expirés ; consignez le motif de l’annulation.
  • Vérifiez comment l’application détecte et gère les doublons.
  • Distinguez la priorité d’une file d’attente interne de toute capacité de routage confirmée.
  • Précisez qui enquête sur une anomalie et quels éléments de preuve doivent être examinés.

Distinguer la priorité interne des capacités, du traitement et de la qualité réels de la route

Attribuer une classe élevée dans le système source n’oblige pas un réseau, un agrégateur ou une route à traiter le message en priorité. Cela ne modifie pas non plus, à lui seul, la couverture, la capacité, la disponibilité, la latence ou le résultat de livraison. Ces caractéristiques doivent être évaluées pour la route et la destination concernées, à partir d’informations disponibles et de conditions vérifiables.

Avant d’associer une classe à une route, vérifiez ce qui est documenté : destinations desservies, connectivité, limites techniques, traitement des erreurs, génération d’accusés de réception et mécanismes d’assistance. Si ces informations ne sont pas disponibles, consignez l’incertitude au lieu de la présenter comme une garantie. La compatibilité HTTP ou SMPP, par exemple, décrit une forme de connectivité, pas une promesse de livraison.

La plateforme BulkSMSMarket décrit des fonctions de découverte et de gestion des routes, la connectivité HTTP et SMPP, l’accès à des fournisseurs et les consultations HLR. La disponibilité opérationnelle, l’authentification, les soldes, la facturation et le routage en direct ne sont pas présentés comme des services publics actuellement disponibles. Il ne faut donc pas présumer ici de capacités de priorisation ou de routage en production.

  • Vérifiez les capacités pour chaque destination et chaque route, plutôt que de vous fier au nom d’une classe.
  • Distinguez une fonction documentée d’une attente commerciale ou interne.
  • Consultez les pages sur la qualité, la connectivité et l’achat pour évaluer les critères avant de choisir une route.
  • N’interprétez pas une consultation HLR comme une preuve de consentement, d’identité, de propriété de la ligne ou de livraison garantie.

Concevoir des indicateurs et des révisions sans confondre acceptation, DLR et réception

Mesurez séparément chaque étape. Une demande acceptée par une plateforme, un message transmis à un système suivant et un accusé de livraison (DLR) sont des événements distincts. Un DLR communiqué par la route indique l’état signalé par celle-ci ; il ne vérifie pas de manière indépendante que la personne a vu le message ou que son contenu s’est affiché correctement sur son terminal.

Définissez des indicateurs répondant à des questions précises : combien de temps prend chaque étape ? Quelle proportion des messages atteint un état signalé ? Quel pourcentage expire ? Combien de nouvelles tentatives sont effectuées ? Quelle fréquence de doublons l’application observe-t-elle ? Précisez le dénominateur, la période, la destination, la route, la source de l’événement et le traitement des états inconnus. Sans définitions cohérentes, les comparaisons peuvent induire en erreur.

Examinez les résultats en tenant compte de la qualité des données. Les différences entre routes ou destinations peuvent être dues à des conditions différentes, à des journaux incomplets ou à des interprétations différentes des états. Ne transformez pas des indicateurs historiques en garanties pour l’avenir. Une révision périodique doit permettre d’ajuster les politiques, tout en précisant qui a approuvé le changement et quels éléments l’ont motivé.

  • Distinguez l’acceptation, l’envoi, le DLR signalé, l’expiration, l’échec et la réception vérifiée, s’il existe un mécanisme indépendant pour cette dernière.
  • Documentez la source, la couverture et les limites de chaque indicateur.
  • Analysez les doublons et les nouvelles tentatives en parallèle des états de livraison.
  • Utilisez des périodes et des segments comparables, et signalez explicitement les données absentes ou incertaines.

Mise en pratique : OTP, alertes transactionnelles et communications pouvant être différées

Pour un OTP, commencez par le processus qu’il protège et par la durée de validité définie par l’application. Décidez de la marche à suivre si le code arrive en retard, s’il est demandé plusieurs fois ou si le premier message est toujours en cours d’acheminement. L’application peut devoir invalider les codes précédents ou limiter l’utilité d’un code expiré ; ces décisions relèvent de la conception du flux et doivent être examinées avec les responsables produit et sécurité. Ne partez pas du principe que donner la priorité au SMS garantit son arrivée plus rapide.

Pour une alerte transactionnelle, déterminez si elle signale un changement exigeant une action immédiate ou si elle se contente d’informer d’un événement. Dans le premier cas, fixez le délai pendant lequel l’alerte reste utile et la marche à suivre en cas d’échec ou d’expiration de l’envoi. Dans le second, une politique moins urgente peut être appropriée. Le simple qualificatif « transactionnel » ne détermine pas la classe.

Pour une communication non urgente, comme une communication promotionnelle envoyée avec consentement et dans le respect des règles applicables, la politique peut autoriser un délai plus long ou l’annulation à l’expiration d’une période définie. Vérifiez les préférences et les autorisations applicables, contrôlez la date d’expiration de la campagne et n’envoyez pas de messages qui ne sont plus pertinents. La classe opérationnelle ne remplace ni le consentement ni la conformité réglementaire.

  • OTP : liez l’expiration et les nouvelles tentatives à la durée de validité du processus protégé.
  • Alerte transactionnelle : déterminez si le destinataire doit agir et dans quel délai.
  • Communication pouvant être différée : définissez une période de pertinence, les conditions d’annulation et les contrôles de consentement.
  • Dans les trois cas, documentez les doublons, les états ambigus et les solutions opérationnelles de remplacement.

Liste de contrôle pour approuver et maintenir une politique

Une classe peut être soumise à révision lorsqu’elle décrit l’objectif du flux, les conséquences des défaillances et les règles que le système peut réellement appliquer. L’approbation ne met pas fin au travail : la politique doit être tenue à jour si le processus, les exigences de sécurité, la route ou l’observation des états évoluent.

Utilisez cette liste avant de mettre une classe en production ou de modifier son traitement. Si une réponse dépend d’une capacité externe non confirmée, transformez-la en question à valider plutôt qu’en hypothèse de départ.

  • Le résultat métier et le responsable du flux sont-ils décrits ?
  • Les conséquences des retards, des doublons, des pertes et de l’exposition du contenu ont-elles été évaluées ?
  • L’expiration fonctionnelle correspond-elle à la durée pendant laquelle le message reste utile ?
  • Les nouvelles tentatives ont-elles des déclencheurs, des limites, des intervalles et une condition d’arrêt ?
  • Le risque de doublons et de messages obsolètes est-il contrôlé ?
  • La priorité est-elle limitée aux capacités internes vérifiées ?
  • Les capacités et les limites de la route sont-elles documentées pour les destinations concernées ?
  • Les indicateurs distinguent-ils l’acceptation, le DLR signalé et la réception sur le terminal, sans les confondre ?
FAQ

Questions fréquentes

Une classe de service élevée permet-elle au SMS d’arriver plus vite ?

Pas nécessairement. Une priorité interne ne fait qu’ordonner le travail si le système la met en œuvre ; elle ne prouve pas qu’une route ou un réseau traitera le message en priorité. Vérifiez les capacités spécifiques et ne promettez pas de résultat de livraison.

Tous les OTP devraient-ils appartenir à la classe la plus urgente ?

Pas par définition. Évaluez la durée de validité du code, l’impact d’un retard, les solutions de remplacement dans le flux, les risques de doublons et les mesures de sécurité. La catégorie OTP ne remplace pas cette analyse.

Un DLR confirme-t-il que la personne a reçu le SMS sur son téléphone ?

Un DLR indique l’état communiqué par le système qui le génère. À lui seul, il ne constitue pas une vérification indépendante de la réception sur le terminal ni de la consultation du message par la personne.

Comment définir les nouvelles tentatives ?

Définissez l’événement qui les déclenche, leur nombre maximal, l’intervalle entre les tentatives, la condition d’arrêt et le comportement en cas de doublons. Adaptez les règles à la durée de pertinence du message et vérifiez quels états et paramètres chaque intégration propose.

La classe de service détermine-t-elle la priorité de la route ?

Non. Il s’agit d’une politique opérationnelle interne, sauf s’il existe une capacité de priorisation de route documentée et confirmée. Il ne faut pas la déduire d’une connexion HTTP ou SMPP ni de l’étiquette attribuée au message.

Sources consultées

  1. NIST Digital Identity Guidelines (SP 800-63-4)National Institute of Standards and Technology (NIST)
  2. OWASP Authentication Cheat SheetOWASP
  3. 3GPP specifications by series3GPP
  4. ITU-T Recommendation E.164International Telecommunication Union (ITU-T)
  5. GSMA networks resourcesGSMA
  6. IFT study on A2P short messaging servicesInstituto Federal de Telecomunicaciones (IFT), México