Retour au blog Opérations SMS

Envois A2P internationaux par SMS : programmer selon l’heure locale sans erreur de fuseau horaire

Un guide opérationnel pour attribuer les fuseaux horaires avec prudence, convertir les heures locales et gérer les changements saisonniers, les exceptions et les journaux sans confondre programmation technique et conformité légale.

Schéma de programmation de SMS A2P internationaux selon le fuseau horaire local du destinataire

Pourquoi évaluer l’heure dans le fuseau du destinataire

Une heure d’envoi exprimée uniquement en UTC ou dans le fuseau de l’équipe qui gère la campagne ne garantit pas que le message arrivera pendant la plage horaire prévue pour chaque destinataire. Pour programmer un envoi à l’heure locale, il faut regrouper les contacts selon un fuseau horaire fiable et convertir l’heure demandée en l’instant correspondant.

Il convient de distinguer trois notions : l’heure locale souhaitée, l’instant calculé pour l’envoi et l’heure à laquelle le système remet le message à la route ou à la plateforme de sortie. Une campagne programmée ne garantit pas la réception sur le téléphone à une heure précise : le traitement, la connectivité et le réseau peuvent influer sur le moment effectif.

  • Définissez si la campagne vise une heure locale commune à tous ou une heure de référence unique pour l’ensemble de l’opération.
  • Enregistrez en interne l’instant calculé dans un format non ambigu, comme UTC, en plus de l’heure locale affichée à l’opérateur.
  • Ne présentez pas l’heure programmée comme une garantie de remise sur l’appareil.
Pourquoi évaluer l’heure dans le fuseau du destinataire

Quelles données sont nécessaires pour attribuer un fuseau horaire

La fiabilité de la conversion dépend de celle du fuseau attribué au destinataire. L’indicatif téléphonique ne doit pas être considéré comme un moyen suffisant d’identifier le fuseau horaire : la numérotation et la localisation temporelle ne sont pas équivalentes, et les sources disponibles ne valident aucune méthode permettant de déduire un fuseau fiable à partir du seul numéro.

Lorsque cela est pertinent et autorisé, utilisez un fuseau horaire indiqué par l’utilisateur ou une localisation suffisamment précise et fondée sur un motif valable. Enregistrez également la provenance de la donnée et sa date d’obtention. Si le fuseau est déduit, identifiez-le comme tel et définissez le niveau d’incertitude accepté par la politique.

Si seul le pays est connu, ne supposez pas qu’il n’existe qu’un seul fuseau horaire national. Certains pays couvrent plusieurs fuseaux et certains territoires ont leurs propres règles. Si la localisation temporelle n’est pas suffisamment fiable, appliquez une règle de repli explicite, par exemple retenir le message pour examen ou utiliser une plage prudente préalablement validée.

  • Définissez une hiérarchie des sources d’attribution des fuseaux : donnée explicite, localisation fiable autorisée, déduction documentée, puis donnée inconnue.
  • Ne déduisez pas l’heure locale de l’indicatif téléphonique sans source ni méthode validées à cette fin.
  • Définissez la marche à suivre pour les numéros dont le fuseau ne peut pas être déterminé ; ne les attribuez pas silencieusement au fuseau de l’expéditeur.
Quelles données sont nécessaires pour attribuer un fuseau horaire

Pays à fuseaux multiples, territoires et localisation inconnue

La politique doit s’appuyer sur des fuseaux horaires précis, et non uniquement sur des libellés de pays. Pour chaque destinataire, l’application a besoin d’un fuseau de référence défini et d’une règle pour les contacts dont les données sont ambiguës ou insuffisantes.

Avant d’activer une campagne multinationale, vérifiez la manière dont les territoires et les fuseaux multiples sont traités dans vos données et dans le système de programmation. Si la plateforme ne permet qu’un fuseau par défaut, documentez la portée de ce paramétrage et évaluez s’il convient à chaque segment. Un fuseau par défaut peut servir de solution de repli opérationnelle, mais il ne transforme pas une donnée inconnue en attribution fiable.

  • Maintenez une correspondance révisable entre les segments de destinataires et les fuseaux horaires précis.
  • Séparez les cas confirmés, déduits et inconnus afin d’appliquer des contrôles différents.
  • Ne lancez pas l’envoi vers un segment ambigu avant d’avoir décidé comment le traiter et qui autorise cette décision.

Heure d’été : heures inexistantes, répétées et règles changeantes

Dans les régions où l’horloge change, une heure locale peut ne pas exister lors du passage à l’heure d’été, ou se répéter lors du retour à l’heure standard. Une programmation qui n’accepte qu’une date et une heure locale peut donc être ambiguë à ces moments-là. Les règles peuvent également changer : une conversion calculée à partir de données temporelles obsolètes peut ne plus correspondre à l’heure locale prévue.

Aucune solution universelle ne peut être supposée valable pour toutes les destinations. La politique doit préciser comment traiter une heure inexistante — par exemple, la rejeter ou la décaler selon une règle approuvée — et comment distinguer les deux occurrences d’une heure répétée. Le choix doit être cohérent avec la finalité du message et les contrôles légaux applicables.

Utilisez un mécanisme de gestion des fuseaux horaires à jour et, lorsque le système le permet, consignez la version ou la référence des règles utilisées. Si vous ne pouvez pas vérifier la façon dont une plateforme gère les transitions, testez ce comportement avant de l’utiliser en production.

  • Définissez le traitement des heures inexistantes et répétées ; ne laissez pas le système décider implicitement.
  • Réexaminez les programmations futures si les règles applicables à un fuseau changent.
  • Distinguez l’heure locale demandée de sa conversion calculée et conservez les deux afin de pouvoir expliquer le résultat.

Définissez une politique de programmation avant de charger la campagne

Une politique utile précise comment le fuseau est déterminé, quelle heure doit être respectée et que faire lorsque des données manquent. Elle doit aussi distinguer la faisabilité technique de l’autorisation d’envoi : une conversion correcte ne prouve ni que le message est autorisé dans cette juridiction ni qu’un consentement valide a été obtenu.

Il n’existe pas de plage horaire internationale unique applicable sans vérification. Consultez les sources officielles pertinentes pour chaque juridiction et chaque type de message afin de vérifier les horaires autorisés, les restrictions de messagerie, les jours fériés et les autres obligations. Si une règle locale n’a pas été confirmée, ne la présentez pas comme une norme mondiale et ne supposez pas que l’absence de règle signifie que l’envoi est autorisé.

  • Définissez l’heure locale cible et les plages opérationnelles de chaque segment.
  • Établissez une règle de repli pour les fuseaux inconnus et un processus d’approbation des exceptions.
  • Validez séparément le consentement, la finalité, les restrictions légales et la programmation technique.
  • Vérifiez les règles locales auprès de sources officielles avant d’activer ou de modifier une campagne.

Files d’attente, retards et reprogrammation

L’heure d’exécution calculée peut être dépassée en cas de retard dans une file d’attente ou d’interruption. Le système doit prévoir une règle explicite : supprimer le message, demander une approbation, l’envoyer dans une plage encore valide ou calculer une nouvelle heure locale. Le choix dépend de la finalité, de la validité du contenu et des règles applicables ; il ne doit pas s’agir d’une nouvelle tentative automatique sans limites.

Pour les campagnes de longue durée, tenez compte du fait qu’une mise à jour des règles de fuseau horaire peut affecter les messages encore en attente. Définissez qui examine ces changements et comment les tâches concernées sont recalculées. Si l’heure est modifiée, conservez la programmation initiale et la nouvelle afin de ne pas perdre le contexte opérationnel.

  • Précisez la marche à suivre si l’envoi est retardé au-delà de la plage autorisée.
  • Évitez que les nouvelles tentatives ou reprogrammations ne transforment un message opportun en message obsolète ou envoyé hors plage.
  • Appliquez des contrôles et des limites de nouvelles tentatives adaptés à la plateforme et à la politique interne, sans supposer de garantie de remise.

Assurer la traçabilité de chaque décision temporelle

Un journal utile permet de reconstituer pourquoi un message a été programmé pour un instant donné. Selon les besoins de confidentialité et de conservation de votre organisation, conservez l’heure locale demandée, le fuseau attribué, l’origine ou le niveau de confiance de cette attribution, l’instant calculé et la version des règles temporelles utilisée.

Ajoutez l’heure d’exécution effective enregistrée par le système et le résultat d’envoi disponible. Interprétez les états de remise avec prudence : un DLR reçu est un état signalé par une route ou un système, et non une vérification indépendante que le destinataire a lu le message ni une garantie de réception sur l’appareil.

  • Enregistrez l’heure demandée et l’heure calculée dans des champs distincts.
  • Consignez les modifications, les exceptions et les décisions manuelles avec leur date et leur responsable opérationnel.
  • Limitez les données personnelles et leur durée de conservation à ce que justifient vos besoins et vos obligations.

Matrice de tests avant la mise en production

Testez la logique de conversion pour chaque fuseau et pas uniquement une campagne à une date ordinaire. Incluez des cas comportant plusieurs fuseaux dans un même pays, des territoires pertinents, un fuseau inconnu, une date de changement d’heure et la modification d’une programmation en attente. Les tests doivent vérifier le résultat, mais aussi la décision appliquée lorsque l’heure est ambiguë.

La liste suivante constitue une base opérationnelle, et non une spécification universelle. Complétez les cas en fonction des fuseaux, des règles légales et du comportement réel de la plateforme utilisée. Si le système ne permet pas de vérifier ou de contrôler un cas critique, documentez cette limite et adoptez une solution de remplacement sûre avant l’envoi.

  • Comparer l’heure locale cible et l’instant UTC calculé pour plusieurs fuseaux.
  • Tester une heure inexistante et une heure répétée, et confirmer que la politique définie est appliquée.
  • Vérifier le traitement des destinataires sans localisation temporelle fiable.
  • Simuler des retards dans la file d’attente, à l’intérieur et au-delà de la plage prévue.
  • Vérifier l’effet de la modification d’une programmation en attente après la mise à jour des règles temporelles.
  • Confirmer que les journaux permettent de reconstituer la décision et de distinguer l’envoi enregistré de la réception finale.
FAQ

Questions fréquentes

Puis-je déterminer le fuseau horaire du destinataire à partir du seul indicatif téléphonique ?

Il ne faut pas le supposer. L’indicatif téléphonique ne suffit pas à identifier de manière fiable le fuseau horaire du destinataire. Utilisez une donnée temporelle validée ou appliquez une règle explicite lorsque la localisation est inconnue.

Que faire si une heure programmée n’existe pas en raison du passage à l’heure d’été ?

Définissez à l’avance si elle doit être rejetée, décalée selon une règle approuvée ou soumise à examen. Aucune solution ne doit être considérée comme valable pour toutes les destinations et tous les systèmes.

Une programmation correcte garantit-elle la réception du SMS à l’heure locale indiquée ?

Non. La programmation calcule le moment où l’exécution de l’envoi doit être tentée selon le fuseau attribué. La file d’attente, la route et le réseau peuvent influer sur le moment de remise, et un état signalé ne constitue pas une vérification indépendante du téléphone.

Existe-t-il une plage horaire légale unique pour l’envoi de SMS à l’international ?

Il ne faut pas supposer qu’une règle uniforme s’applique. Vérifiez les horaires autorisés, les jours fériés et les autres restrictions auprès de sources officielles pour chaque juridiction et type de message, et contrôlez également le consentement et la finalité.

Quelles données faut-il conserver pour auditer une campagne programmée ?

Au minimum sur le plan opérationnel, conservez l’heure locale demandée, le fuseau attribué et sa provenance, l’instant calculé, les modifications apportées et l’heure d’exécution enregistrée. Appliquez les règles de confidentialité et de conservation de votre organisation.

Sources consultées

  1. Programación de SMS: considerar la zona horaria localBird
  2. Envío de mensajes en el huso horario del destinatarioAdobe Experience League
  3. 3GPP specifications3GPP
  4. ITU-T E.164International Telecommunication Union