Validation des fichiers de chargement groupé de SMS A2P : guide opérationnel
Un guide pour concevoir des contrôles par étapes dans les fichiers de SMS A2P, repérer les erreurs corrigibles et préserver la traçabilité sans confondre validation, consentement et livraison.

Quels problèmes la validation préalable à la création des messages permet-elle d’éviter ?
Un chargement groupé peut contenir des données correctes, des enregistrements incomplets et des erreurs qui empêchent d’interpréter une ligne. Valider le fichier avant de créer les messages permet de repérer ces problèmes dans une étape contrôlée et d’indiquer quels enregistrements doivent être examinés, plutôt que de les découvrir une fois le traitement lancé.
La validation doit être considérée comme un contrôle des données et des règles définies au préalable. Elle ne prouve ni l’existence d’un consentement à contacter les destinataires, ni l’autorisation d’un expéditeur dans un pays de destination, ni la livraison d’un message. Ces vérifications relèvent de processus distincts et dépendent du contexte, des règles applicables et des capacités disponibles.
- Définissez la structure acceptée par le système et la signification de chaque champ.
- Distinguez les erreurs de lecture des manquements aux règles opérationnelles.
- Conservez une référence claire entre chaque enregistrement d’origine et son résultat.

Définir le contrat de données
Avant d’accepter des fichiers, documentez un contrat de données : formats pris en charge, encodage attendu, en-têtes reconnus, champs obligatoires et traitement des valeurs vides. Si plusieurs variantes sont acceptées, précisez-les explicitement. Ne vous fiez pas à des suppositions concernant l’ordre des colonnes ou l’interprétation automatique des dates et des nombres.
Lors de la lecture du fichier, vérifiez qu’il peut être interprété dans le format déclaré et que les colonnes requises sont présentes. Distinguez un fichier qui ne peut pas être analysé d’un fichier lisible contenant des lignes incomplètes. Le premier cas concerne l’ensemble du fichier ; le second peut généralement être signalé ligne par ligne.
Les éléments disponibles ne permettent pas d’établir une convention unique applicable à l’encodage, aux en-têtes ou aux champs obligatoires de tous les chargements groupés A2P. Ces règles doivent donc être définies pour chaque intégration et communiquées aux personnes qui préparent les fichiers.
- Publiez un modèle et la définition de chaque colonne, y compris les formats et valeurs autorisés.
- Précisez si les colonnes supplémentaires, les champs vides ou les autres variantes d’en-têtes sont acceptés.
- Utilisez des erreurs distinctes pour un fichier illisible, un en-tête manquant et une donnée obligatoire vide.

Validations par enregistrement : numéro, expéditeur et contenu
Pour chaque ligne, vérifiez que le numéro du destinataire est présent et peut être interprété conformément aux règles convenues pour l’intégration. Si une normalisation est appliquée, définissez et documentez son comportement ; n’ajoutez pas de préfixes, ne supprimez pas de caractères et ne modifiez pas l’interprétation sur la base d’une supposition. La recommandation E.164 constitue une référence pour la numérotation internationale, mais les informations disponibles ici ne permettent pas d’en détailler les règles ni de conclure qu’une chaîne qui les respecte peut être acheminée.
Vérifiez que l’expéditeur et le contenu sont présents lorsque le cas d’usage l’exige et qu’ils peuvent être représentés dans le format attendu. La syntaxe valide d’un expéditeur ne prouve pas qu’il est autorisé pour la destination. De même, le fait qu’un texte soit lisible ne confirme pas qu’il respecte les règles de consentement, les politiques applicables ou les restrictions d’une route.
Distinguez les contrôles des données des décisions d’envoi. Une ligne peut être syntaxiquement valide tout en nécessitant une vérification de l’autorisation, des politiques ou de l’admissibilité avant son traitement.
- Définissez les formats de numéro acceptés et les cas qui sont rejetés ou doivent être examinés.
- Validez l’expéditeur selon les règles configurées pour le contexte, sans assimiler la validation syntaxique à une autorisation.
- Vérifiez que le contenu peut être interprété et que les champs requis pour la personnalisation sont disponibles.
Détecter les doublons sans modifier l’intention
Deux lignes similaires ne sont pas nécessairement des doublons : elles peuvent correspondre à des envois légitimes à la même personne, par exemple à des moments différents ou pour des raisons différentes. Avant de signaler des doublons, définissez la combinaison de champs utilisée pour repérer les correspondances et, le cas échéant, la période concernée. Ne supprimez pas et ne regroupez pas automatiquement les enregistrements sans règle convenue avec la personne responsable du processus.
Il est utile de distinguer un doublon exact dans le fichier, une correspondance selon une règle métier et une répétition légitime. La décision peut consister à afficher un avertissement, à bloquer l’enregistrement ou à le laisser passer ; elle doit être explicite, vérifiable et cohérente avec la finalité de l’envoi.
- Définissez la clé de comparaison et la portée de la détection avant sa mise en œuvre.
- Conservez les enregistrements d’origine et indiquez les lignes qui correspondent.
- Ne présentez pas une correspondance comme une preuve d’erreur ou de fraude.
Classer les erreurs par étape
Une classification utile distingue au moins trois niveaux. Les erreurs de format empêchent de lire le fichier ou d’interpréter un champ. Les erreurs de règles métier indiquent qu’une valeur ne satisfait pas à une condition convenue. Les restrictions d’envoi correspondent à des décisions ultérieures concernant l’autorisation, les politiques ou la possibilité de traiter le trafic. Ne regroupez pas ces catégories sous un seul état générique « invalide ».
Une erreur corrigible peut être résolue en modifiant le fichier ou la donnée, puis en relançant la validation. Un rejet définitif, au regard des règles configurées, indique que l’enregistrement ne doit pas poursuivre ce processus. Évitez de qualifier une erreur de définitive si elle signifie simplement qu’une information ou une vérification est en attente. La classification doit refléter la cause connue, et non une conclusion que le contrôle ne peut pas établir.
- Utilisez des états distincts pour un fichier illisible, une donnée corrigible, une règle non respectée et une vérification en attente.
- Expliquez quelle mesure la personne qui prépare le chargement peut prendre.
- Ne transformez pas un échec de validation en affirmation concernant le consentement, l’identité ou la livraison.
Des résultats exploitables et une référence à la ligne
Chaque résultat de validation devrait indiquer quel enregistrement a été évalué et la raison de l’avertissement ou du rejet. Pour cela, conservez une référence stable vers l’enregistrement source, par exemple son numéro de ligne dans le fichier reçu et, le cas échéant, un identifiant propre au chargement. Cette référence doit rester inchangée même si le système transforme ou normalise des valeurs pour les traiter.
Décrivez le champ concerné, la règle appliquée et une action possible. Évitez les messages ambigus comme « erreur de numéro » si vous pouvez préciser que le destinataire est absent ou que la valeur ne respecte pas le format attendu. Les informations renvoyées doivent suffire à corriger le problème sans exposer inutilement des données personnelles.
- Incluez l’identifiant du chargement, la référence de ligne, le champ, le résultat et une explication compréhensible.
- Distinguez les avertissements des rejets et indiquez la marche à suivre.
- Protégez les données personnelles dans les rapports, les journaux et les échanges avec l’assistance.
Chargements volumineux, lots et renvois
La taille maximale du fichier, le nombre d’enregistrements par lot et la stratégie de traitement dépendent du système qui reçoit le chargement. Les éléments disponibles ici ne permettent pas de recommander des limites numériques universelles. Définissez les limites en fonction des capacités vérifiées de l’implémentation et publiez-les avant que les équipes ne préparent leurs fichiers.
En cas de traitement par lots, conservez l’identifiant du chargement et la position de chaque ligne à toutes les étapes. Concevez le mécanisme de renvoi de façon qu’un échec partiel ne transforme pas silencieusement une répétition en nouveaux messages. La sémantique des nouvelles tentatives et de la déduplication doit être définie par l’intégration ; on ne peut pas la déduire du simple fait que le fichier a été envoyé à nouveau.
- Documentez les limites et les comportements vérifiés pour l’intégration concernée.
- Consignez les parties validées et traitées sans masquer les résultats partiels.
- Définissez comment reconnaître un chargement répété avant d’autoriser un renvoi.
Traçabilité et durée de conservation proportionnée
Maintenez un lien vérifiable entre le fichier reçu, chaque ligne, le résultat de validation et tout message éventuellement créé. Cette traçabilité aide à examiner les erreurs et à répondre aux questions opérationnelles, mais doit se limiter aux données nécessaires à la finalité définie.
Établissez une politique de conservation des fichiers et des résultats qui précise qui peut y accéder, quelles données sont conservées et quand elles sont supprimées. Les informations disponibles ne déterminent pas de durée appropriée et ne remplacent pas les obligations applicables dans chaque juridiction. Définissez ces limites avec les personnes responsables de la confidentialité, de la sécurité et de la conformité, et évitez de conserver des copies complètes lorsqu’une référence minimale suffit.
- Conservez des identifiants de chargement et de ligne qui permettent de reconstituer le résultat sans dupliquer inutilement les données.
- Limitez les accès et évitez d’inclure des numéros ou des messages complets dans les journaux si ce n’est pas nécessaire.
- Déterminez les durées de conservation en fonction de la finalité et des obligations applicables.
Questions fréquentes
Un fichier validé prouve-t-il que les destinataires ont donné leur consentement ?
Non. La validation de la structure et des données montre uniquement que les contrôles configurés pour le chargement sont satisfaits. Le consentement et les autres obligations liées à l’envoi de messages nécessitent des vérifications indépendantes.
Un numéro qui réussit la validation garantit-il que le SMS sera reçu ?
Non. Un contrôle de format ne prouve ni que le numéro est actif, ni que la route est disponible, ni que le message sera livré. Il ne doit pas être présenté comme une garantie de livraison.
Est-il conseillé de supprimer automatiquement les lignes en double ?
Pas sans règle convenue. Des correspondances peuvent représenter des messages légitimes. Définissez comment un doublon est identifié et s’il doit être signalé, bloqué ou autorisé.
Quelles informations une erreur de validation devrait-elle inclure ?
Au minimum, une référence au chargement et à la ligne, le champ concerné, le motif et une action possible. Limitez les données personnelles exposées dans le rapport.
Quelle devrait être la taille maximale d’un fichier ?
Elle dépend des capacités vérifiées du système et de l’intégration. Définissez et communiquez la limite applicable ; aucune valeur universelle ne peut être recommandée ici.
Sources consultées
- Especificación SMPP v3.4SMPP Developers Forum
- Recomendación E.164Unión Internacional de Telecomunicaciones (ITU-T)
- Especificaciones 3GPP3GPP
- Semántica HTTP (RFC 9110)IETF