Enregistrement 10DLC
10DLC (10-Digit Long Code) est le système imposé par les opérateurs américains pour envoyer des messages SMS Application-to-Person (A2P) avec des numéros de téléphone standard à 10 chiffres. Toutes les entreprises envoyant des SMS vers des numéros américains doivent s’enregistrer via 10DLC pour garantir la délivrabilité et la conformité.Vue d’ensemble
Les opérateurs américains (T-Mobile, AT&T, Verizon) exigent l’enregistrement 10DLC pour la messagerie A2P. Le trafic non enregistré s’expose à :- Filtrage agressif — messages silencieusement bloqués
- Frais plus élevés — surcoûts par message pour les expéditeurs non enregistrés
- Faible débit — limité à ~1 message/seconde contre 75+ une fois enregistré
Étapes d’enregistrement
Étape 1 : Enregistrer votre marque
Créez une identité de marque qui représente votre organisation.entity_type doit être l’une de PRIVATE_PROFIT, PUBLIC_PROFIT, NON_PROFIT, GOVERNMENT, ou SOLE_PROPRIETOR. display_name, company_name, phone, street, city, state, postal_code, et email sont requis ; ein et website sont optionnels.
Réponse (201 Created) :
Étape 2 : Créer une campagne
Enregistrez le cas d’usage spécifique de votre messagerie.description doit contenir au moins 40 caractères, message_flow au moins 40, et help_message comme optout_message au moins 20. sample_message est un tableau de 1 à 10 messages représentatifs. Les campagnes à caractère politique (usecase valant POLITICAL_ADVOCACY ou POLLING_AND_VOTING, ou is_political: true) exigent en outre un jeton Campaign Verify cv_token.
Réponse (201 Created) :
Étape 3 : Attendre l’approbation
La révision de la campagne prend 1 à 5 jours ouvrés. Vous pouvez vérifier le statut :status de premier niveau est la décision au niveau CSP. mnoStatuses est la carte d’approbation par opérateur (les clés sont les identifiants d’opérateurs MNO — par ex. 10017 T-Mobile, 10035 AT&T, 10095 Verizon) ; une campagne peut être APPROVED au niveau CSP tout en étant encore en REVIEW chez un opérateur individuel.
Statuts :
Étape 4 : Commencer l’envoi
Une fois approuvée, les messages envoyés depuis les numéros enregistrés bénéficient du débit et de la délivrabilité 10DLC complets.Pré-soumission de votre envoi
La plupart des rejets TCR sont déterministes — la même poignée de motifs de contenu et de complétude fait échouer les premières soumissions à répétition. Chaque rejet consomme de nouveaux frais de vérification (4 à 15 $ par re-soumission) et relance le délai de révision de 1 à 5 jours ouvrés. Orbit fournit un linter de pré-soumission qui évalue la charge utile de votre marque + campagne contre le catalogue des motifs de rejet connus avant que vous ne soumettiez, et renvoie des constats par champ — chacun avec une sévérité, le fragment de texte exact incriminé, et une suggestion de réécriture concrète.POST /api/v1/compliance/10dlc/preflight
Le linter est un moteur de règles pur : rien n’est envoyé à TCR, rien n’est stocké, et aucune application n’est créée. N’importe quel rôle de l’organisation peut l’appeler — aucun scope numbers:write requis.
Envoyez les objets marque et campagne exactement comme vous prévoyez de les soumettre, plus un brand_vetting_score (0–100) optionnel lorsque vous en possédez déjà un :
200 OK) :
score vaut de 0 à 100 (100 = aucun motif connu détecté ; chaque constat déduit selon sa sévérité). verdict est l’agrégat — block dès qu’un constat error est présent, warn en dessous d’un score de 75, sinon pass. Chaque entrée findings[] porte un ruleId stable, une severity (error | warn | info), le chemin en notation pointée du field concerné, un résumé lisible, un match optionnel contenant le texte exact incriminé (pour le surlignage dans votre interface), et une suggestion — une réécriture qui résout le constat. engine est la version du moteur de règles (tcr-preflight/v1), afin de corréler les scores dans le temps.
Un verdict
pass signifie « aucun motif de rejet connu détecté » — pas « TCR approuvera ». Le linter détecte la majorité déterministe des rejets ; votre soumission passe malgré tout par la révision opérateur normale. C’est un conseiller, jamais un gardien : vous décidez du moment de la soumission.Ce que le linter 10DLC vérifie
Le catalogue encode les motifs sur lesquels TCR et les opérateurs rejettent. Règles clés :
Corrigez chaque constat par ordre de sévérité, relancez le linter jusqu’à obtenir une réponse propre (
verdict: "pass"), puis soumettez la même charge utile via l’Étape 2.
Types de cas d’usage
Passez l’une de ces valeurs dans le champusecase lors de la création d’une campagne (Étape 2). Les codes TCR sont en majuscules — envoyez-les exactement comme indiqué ; une valeur en minuscules est rejetée à l’enregistrement.
Niveaux de débit
Le débit 10DLC est accordé sous forme de plafond de segments de messages par jour et par numéro, et non d’un débit par seconde. Votre niveau est déterminé par votre score de vérification de marque (0–100) et votre type d’entité enregistré. Le plafond quotidien de chaque niveau s’applique à chaque numéro affecté à la campagne, de sorte que le débit total de la campagne évolue avec le nombre de numéros affectés.
Les plafonds reflètent les valeurs par défaut de T-Mobile ; AT&T et Verizon s’en écartent d’environ 10 %. Le niveau le plus élevé auquel votre score de vérification donne droit vous est accordé. Une marque sans score bascule par défaut sur la référence Low Volume Standard.
Exigences de conformité
- Consentement d’opt-in. Vous devez disposer du consentement explicite de chaque destinataire avant l’envoi.
- Gestion de l’opt-out. Traitez immédiatement les demandes STOP. Orbit traite automatiquement STOP, CANCEL et UNSUBSCRIBE.
- Contenu des messages. Les messages d’exemple doivent être représentatifs du trafic réel.
- Usage cohérent. N’envoyez que des messages correspondant au cas d’usage de votre campagne enregistrée.
Enregistrement via le tableau de bord
Vous pouvez également effectuer l’intégralité de l’enregistrement 10DLC via le tableau de bord Orbit :- Accédez à Settings > Compliance > 10DLC
- Cliquez sur Register Brand et renseignez les informations de votre entreprise
- Une fois la marque approuvée, cliquez sur Create Campaign
- Sélectionnez votre cas d’usage, ajoutez des messages d’exemple et affectez des numéros
- Soumettez pour révision opérateur
Configuration du flux de règles par pays
Cette section s’adresse aux opérateurs de plateforme / déploiements auto-hébergés. Les clients SaaS sur
api.orbit.devotel.io n’ont pas besoin de les définir — Orbit maintient les règles par pays 10DLC à jour pour vous.@devotel/compliance/country-rule-feeds et s’exécute à deux endroits :
- À la demande — l’action d’administration « Refresh from upstream »
(
POST /api/v1/compliance/country-rules/sync?provider=iconectiv). - Hebdomadaire — le déclenchement d’actualisation automatique dans le planificateur compliance-sync du worker de webhooks.
DEVOTEL_TCR_API_KEY et DEVOTEL_TCR_PARTNER_ID doivent tous deux être définis pour que le flux s’exécute ; si l’un des deux manque, le connecteur n’a aucun effet. Enregistrez Devotel comme partenaire TCR sur iconectiv.com pour obtenir ces identifiants.