Développeurs

POST/tcr/v2/brand/nonBlocking

Enregistrer une marque de messagerie

Enregistrez une identité d’entreprise appartenant au compte, gardez les requêtes en bac à sable explicites, et rapprochez la validation et les frais.

Sur cette page
  1. Enregistrez l’entreprise à l’origine de vos messages
  2. Commencez par une requête explicite en bac à sable
  3. Champs d’entreprise et de contact
  4. Conservez une clé d’idempotence stable
  5. Lisez la marque et son statut
  6. Frais de production
  7. Gérez les erreurs sans dupliquer la marque

Enregistrez l’entreprise à l’origine de vos messages

Une marque de messagerie identifie l’entreprise qui envoie des messages 10DLC aux États-Unis. Enregistrez la marque avant de choisir un cas d’usage de campagne. Utilisez les informations légales de l’entreprise et un contact capable d’effectuer toute validation requise. Un identifiant de marque renvoyé ne constitue pas, à lui seul, une autorisation d’envoyer des messages.

Utilisez cette route actuelle appartenant au compte via HTTPS avec un compte API activé et son adresse IP source autorisée. Ne transmettez pas user_id, username ni l’identifiant de propriétaire d’un autre client. MultiTEL enregistre la propriété à partir du compte authentifié.

Commencez par une requête explicite en bac à sable

Le portail règle par défaut son formulaire sur le mode bac à sable ; une requête API directe doit inclure explicitement le booléen JSON mock: true lorsque vous souhaitez une marque fictive. Omettre cet indicateur ne garantit pas le bac à sable et peut créer un enregistrement de production facturable. Le champ mode du portail ne remplace pas le champ mock de l’API.

Préparez un fichier brand.json local à l’aide des champs ci-dessous. Remplacez les valeurs d’exemple par des données de test appropriées et par les codes actuels des catalogues. Cet exemple est une entreprise privée à but lucratif ; les autres types d’entité ont des exigences différentes.

{
  "entityType": "PRIVATE_PROFIT",
  "displayName": "Example business",
  "companyName": "Example legal business name",
  "ein": "YOUR_TAX_ID",
  "einIssuingCountry": "US",
  "phone": "+12025550123",
  "street": "123 Example Street",
  "city": "Example City",
  "state": "NY",
  "postalCode": "10001",
  "country": "US",
  "email": "contact@example.invalid",
  "brandRelationship": "BASIC_ACCOUNT",
  "vertical": "CURRENT_VERTICAL_CODE",
  "referenceId": "your-business-reference",
  "mock": true
}

L’entreprise, l’adresse, le téléphone et l’identifiant ci-dessus sont des valeurs d’exemple, et non une identité d’entreprise prête à l’enregistrement. Obtenez les valeurs actuelles de entityType, vertical, country, state, brandRelationship et des autres énumérations à partir des catalogues de messagerie.

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  --header 'Content-Type: application/json' \
  --header "Idempotency-Key: $IDEMPOTENCY_KEY" \
  --data-binary @brand.json \
  'https://api.multitel.net/tcr/v2/brand/nonBlocking'

Champs d’entreprise et de contact

Champs d’enregistrement de marque
ChampsCe qu’il faut fournir
entityType, displayNameCode actuel de type d’entité et nom reconnaissable de la marque. Les longueurs maximales sont respectivement de 20 et 255 caractères.
country, street, city, state, postalCodeL’adresse réelle de l’entreprise. Utilisez le code pays à deux lettres et un code state américain actuel le cas échéant. Limites : street 255, city 100, state 20 et postalCode 10 caractères.
email, phoneUne adresse e-mail de contact fonctionnelle, jusqu’à 100 caractères, et un numéro de téléphone au format international avec indicatif de pays précédé de +, jusqu’à 20 caractères. Gardez les informations de l’entreprise cohérentes dans tout l’enregistrement.
companyName, ein, einIssuingCountryPour les organisations, fournissez la raison sociale légale et l’identifiant fiscal de l’entreprise. Le pays émetteur de l’identifiant est un champ distinct à deux lettres. Limites : companyName 255 et ein 21 caractères. Un entrepreneur individuel utilise les champs de nom personnel au lieu de l’identité fiscale d’une organisation.
brandRelationship, verticalLa relation avec l’entreprise et son secteur d’activité, à l’aide des codes actuels des catalogues. Les organisations doivent les fournir ; les règles applicables aux entrepreneurs individuels diffèrent. Ne remplacez pas les codes de l’API par des libellés d’affichage traduits.
firstName, lastName, mobilePhoneObligatoires pour un entrepreneur individuel. Les champs de nom acceptent jusqu’à 100 caractères chacun. Fournissez un numéro de mobile éligible, au format international, pour la validation OTP requise.
stockSymbol, stockExchange, website, businessContactEmailUne société cotée a également besoin de son symbole boursier et de sa place de cotation, de son website et d’une adresse e-mail de contact professionnel éligible pour le processus de validation supplémentaire. Limites : stockSymbol 10, website 255 et businessContactEmail 255 caractères.
altBusinessIdType, altBusinessIdIdentifiant d’entreprise alternatif facultatif. Fournissez son type et sa valeur ensemble. Utilisez le catalogue de types actuel ; la valeur accepte jusqu’à 50 caractères.
referenceIdVotre référence métier, jusqu’à 50 caractères. Incluez-la pour l’enregistrement d’un entrepreneur individuel selon les exigences actuelles propres à ce type d’entité. Il s’agit de métadonnées métier, et non de la clé d’idempotence de la requête.
website, ipAddress, tagSite web supplémentaire, métadonnées d’IP d’origine et valeurs d’étiquette le cas échéant. Ces éléments n’établissent pas la propriété du compte et ne remplacent pas les contrôles d’identité.
mockUn booléen JSON. Utilisez true uniquement pour le flux de travail fictif prévu ; utilisez false pour un enregistrement de production explicitement vérifié. N’envoyez pas la chaîne "false" à la place d’un booléen JSON.

Les entrepreneurs individuels sont pris en charge pour les enregistrements aux États-Unis ou au Canada et doivent passer une vérification OTP avant d’être éligibles aux campagnes. Les sociétés cotées peuvent nécessiter une étape de validation du contact professionnel. GOVERNMENT est réservé aux entités gouvernementales établies aux États-Unis ; confirmez la catégorie d’entité correcte pour les autres organisations. Respectez les exigences propres à chaque type d’entité ainsi que les erreurs de validation renvoyées.

Conservez une clé d’idempotence stable

Générez une seule Idempotency-Key pour cet enregistrement prévu. Elle doit contenir de 1 à 128 caractères ASCII imprimables, sans espaces. Réutilisez la même clé uniquement avec la même méthode HTTP, le même chemin, la même chaîne de requête et exactement les mêmes octets du corps de la requête. Reformater le JSON, même sans en changer le sens, modifie l’empreinte de la requête.

Une requête avec clé déjà terminée peut rejouer sa réponse stockée sans nouvelle soumission d’enregistrement. Un doublon encore en cours de traitement renvoie HTTP 409 et peut inclure Retry-After. Une requête modifiée avec la même clé entre en conflit. Ne générez pas une nouvelle clé simplement parce qu’une requête a expiré ou renvoyé une erreur : l’entreprise a peut-être déjà été enregistrée.

Laissez brand.json inchangé pendant la résolution de cette requête. Une réponse 500 ou 502 mise en cache peut rejouer l’erreur d’origine au lieu de réessayer l’enregistrement. Conservez tout brandId, requestId et en-tête de corrélation renvoyés ; rapprochez la marque existante avant de lancer une requête différente.

Lisez la marque et son statut

Cette API utilise les codes de statut HTTP et un corps JSON direct, plutôt que l’enveloppe status/response de la v3. Un enregistrement réussi renvoie un objet marque incluant brandId. Stockez cet identifiant et examinez le statut de validation ou d’identité renvoyé. Les champs supplémentaires dépendent de l’entité et de l’état de l’enregistrement.

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  "https://api.multitel.net/tcr/v2/brand/$BRAND_ID"

Lisez uniquement une marque appartenant à votre compte. Un 404 peut signifier que la marque n’est pas disponible pour ce compte. Effectuez toute validation requise, puis utilisez la qualification de marque pour trouver ses cas d’usage de campagne disponibles. Les ressources fictives ne peuvent pas être présumées éligibles à l’envoi en production.

Frais de production

Frais d’enregistrement de marque actuellement configurés
EnregistrementFrais
Organisation standard$5.00
Entrepreneur individuel$4.45
Marque fictiveAucun débit d’enregistrement de marque dans le flux de travail fictif

Ces montants de détail ont été vérifiés par rapport à la configuration actuelle du portail le 24 octobre 2026. Confirmez les frais actuels dans le portail avant tout enregistrement en production. Les frais de campagne, la vérification supplémentaire et l’utilisation de la messagerie sont distincts. Un enregistrement en production vérifie l’autorisation d’achat et les fonds disponibles avant la soumission ; la création réussie dans le registre et la facturation locale sont des étapes de traitement distinctes, conservez donc l’identifiant de la ressource et rapprochez les transactions en cas d’erreur ou de problème de facturation.

Le passage d’une marque fictive en production est un flux de travail confirmé séparément et peut créer une nouvelle identité de production et un nouveau débit. Ne supposez pas que modifier mock en false dans une requête ultérieure convertit la marque existante.

Gérez les erreurs sans dupliquer la marque

Échecs d’enregistrement
Résultat HTTPCe qu’il faut vérifier
400Lisez les erreurs de champ. Les erreurs de validation du registre peuvent être un tableau d’objets code/description. La validation locale de la clé d’idempotence peut également renvoyer 400.
401, 403 ou 404Vérifiez les identifiants API, l’IP source autorisée du compte API, les permissions du client et la propriété. Une réponse du registre peut également contenir sa propre erreur d’autorisation.
402Vérifiez les fonds et l’autorisation d’achat. Ne traitez pas une requête de production non financée comme un test en bac à sable.
409Conservez la même clé et la requête inchangée lorsque vous attendez une requête en cours. Un conflit de corps ou de clé modifié, ou une réponse antérieure irrécupérable, nécessite d’abord un rapprochement.
429 ou une réponse de limiteur indisponibleRespectez Retry-After lorsqu’il est présent. Réessayez la même requête prévue avec la même clé une fois la limite levée.
500 ou 502L’opération distante a peut-être été acceptée. Une erreur de traitement local peut inclure requestId. Sauvegardez-le et vérifiez la ressource existante ; ne supposez pas qu’un enregistrement de remplacement est nécessaire.