API SMS OTP pour vos codes de vérification
Envoyez vos mots de passe à usage unique depuis votre backend avec une seule requête HTTPS vers l'API REST de BroadNet. Votre application génère et vérifie le code ; nous le délivrons depuis un identifiant d'expéditeur enregistré, via des routes opérateurs directes, et remontons chaque statut sur votre webhook.
curl -X POST https://api.broadnet.me/sms/sendSms \
-H "Authorization: Bearer $BROADNET_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"senderId": "OmniDemo",
"destinationNumber": "971500000000",
"message": "482913 is your OmniDemo code. It expires in 5 minutes. Do not share it.",
"messageType": "TEXT",
"campaignName": "login-otp"
}'
# 200 OK
2603121407537573731Envoi d'un OTP avec l'API SMS. Le jeton, l'identifiant d'expéditeur et le numéro sont fictifs.
En bref
Mis à jour le
Pour envoyer un OTP par SMS avec OmniChannels.ai, votre backend génère le code et appelle POST /sms/sendSms sur https://api.broadnet.me avec un jeton bearer, votre identifiant d'expéditeur, le numéro et le message. L'API renvoie un identifiant de message et les statuts arrivent sur votre webhook. Unicode et arabe sont pris en charge ; WhatsApp ou la voix servent de secours.
Ce que l'API SMS OTP apporte aux développeurs
Un appel REST par code
POST /sms/sendSms avec un corps JSON et un jeton bearer. La réponse est l'identifiant de message que vous associez à la tentative de vérification.
Statuts de livraison par webhook
Recevez SUBMITTED, SENT, DELIVERED, FAILED et REJECTED dans un format normalisé unique, pour savoir quand proposer un renvoi ou changer de canal.
Codes en Unicode et en arabe
Réglez messageType sur UNICODE pour l'arabe ou les autres écritures. POST /sms/identify renvoie l'encodage et le nombre de segments avant l'envoi.
Identifiants d'expéditeur enregistrés
Envoyez depuis un identifiant d'expéditeur alphanumérique enregistré pour le trafic transactionnel sur les marchés qui l'exigent, comme les Émirats arabes unis et l'Arabie saoudite.
Vérification du numéro avant l'envoi
POST /sms/lookup interroge le réseau sur un numéro (HLR et MNP) pour écarter les numéros invalides avant de payer l'envoi d'un code.
Secours par WhatsApp et par la voix
Basculez vers un modèle d'authentification WhatsApp ou un appel vocal lorsque le SMS n'est pas délivré ou que le code n'est pas saisi.
SMPP pour les très gros volumes
Si vous exploitez déjà un client SMPP, envoyez vos OTP en SMPP 3.4 sur TLS par les mêmes routes, avec les accusés de réception sur la session.
SDK et serveur MCP
Utilisez le SDK TypeScript @broadnet/cpaas-sdk, la spécification OpenAPI 3.1 ou le serveur MCP pour les agents IA.
Ce que fait votre code, ce que fait l'API
Une répartition claire garantit la sécurité de la vérification : votre système gère le code, la plateforme gère la livraison.
| Élément | Détails |
|---|---|
| Générer le code | Votre backend crée un code aléatoire, en stocke une empreinte (hash) avec une date d'expiration et limite les tentatives par numéro, par appareil et par adresse IP. |
| Envoyer le SMS | POST /sms/sendSms avec senderId, destinationNumber (indicatif pays puis numéro, chiffres uniquement), message et messageType. |
| Suivre la livraison | Stockez l'identifiant de message renvoyé et rapprochez-en les statuts du webhook. L'absence de DELIVERED dans votre délai peut déclencher un secours. |
| Vérifier le code | Votre backend compare la saisie de l'utilisateur avec l'empreinte stockée. La plateforme ne vérifie ni ne stocke jamais votre état de vérification. |
| Basculer en secours | Renvoyez le code sur WhatsApp avec un modèle d'authentification, ou par appel vocal, que notre équipe met en service avec vous. |
| Tarifs | Facturation par segment SMS selon la destination, aux tarifs catalogue publiés par BroadNet, sans frais de mise en service ni minimum mensuel. Voir les tarifs SMS par pays. |
Comment intégrer l'API SMS OTP
- 1
Obtenez votre jeton
Demandez un accès ; un jeton bearer est émis pour votre compte et les messages de test partent vers vos propres numéros vérifiés.
- 2
Enregistrez un identifiant d'expéditeur
Choisissez un identifiant d'expéditeur transactionnel et enregistrez-le dans les pays qui l'exigent avant la mise en production.
- 3
Rédigez le message
Placez le code en premier, nommez votre marque, indiquez l'expiration et ajoutez un avertissement de ne pas le communiquer. Tenez-vous à un seul segment.
- 4
Envoyez et suivez
Appelez POST /sms/sendSms, stockez l'identifiant de message et traitez les statuts du webhook de façon idempotente.
- 5
Ajoutez secours et limites
Prévoyez WhatsApp ou la voix comme étape suivante, et limitez le débit des requêtes pour bloquer le SMS pumping avant le lancement.
Quand l'API SMS OTP est le bon choix
Adapté si
- Vous intégrez la vérification à l'inscription, à la connexion ou au paiement dans votre propre application et voulez garder la maîtrise totale du code.
- Vous avez besoin d'OTP vers les Émirats arabes unis, l'Arabie saoudite et d'autres marchés du Golfe et de la région MENA, en arabe et en anglais.
- Vous voulez une seule API pour le SMS aujourd'hui, et pour un secours WhatsApp, RCS ou vocal demain.
- Vous préférez REST et les webhooks, avec le SMPP disponible quand vos volumes augmentent.
Bon à savoir avant de commencer
- Il n'existe pas d'endpoint de vérification hébergé : votre application génère, stocke et vérifie le code.
- L'accès en production est examiné par notre équipe ; il n'y a pas d'inscription instantanée en libre-service.
- L'enregistrement d'un identifiant d'expéditeur prend plusieurs jours dans certains pays : lancez-le avant votre date de mise en ligne.
- Les endpoints OTP sont une cible de la fraude au SMS pumping ; listes de pays autorisés, limites de débit et détection des bots relèvent de votre application.
Le repli entre canaux, étape par étape
Envoyez une seule fois via la plateforme ou l'API. Si une étape n'est pas délivrée à temps, le canal suivant prend automatiquement le relais, et tous les statuts reviennent dans un format de webhook unique.
- 01
WhatsApp
Modèle enrichi avec boutons, accusés de lecture et réponses dans la boîte de réception
- 02
RCS
Carte enrichie à vos couleurs, là où le téléphone et l'opérateur prennent en charge le RCS
- 03
SMS
Atteint tous les téléphones mobiles via des routes opérateurs directes
- 04
Voix
Un code ou un message vocal quand le texte ne passe pas
Questions sur l'API SMS OTP
Comment envoyer un SMS OTP avec l'API ?
Générez le code dans votre backend, puis appelez POST https://api.broadnet.me/sms/sendSms avec un en-tête Authorization: Bearer et un corps JSON contenant senderId, destinationNumber, message et messageType. La réponse est l'identifiant du message, et les statuts de livraison arrivent sur votre webhook.
L'API génère-t-elle et vérifie-t-elle le code à ma place ?
Non. Votre application génère le code, en stocke une empreinte avec une expiration et vérifie la saisie de l'utilisateur. Garder la vérification dans votre propre système vous laisse la maîtrise de la logique du code, des limites de tentatives et de la piste d'audit.
Peut-on envoyer des SMS OTP en arabe ?
Oui. Réglez messageType sur UNICODE. Un SMS en arabe contient 70 caractères par segment : gardez donc un message court. Vous pouvez d'abord appeler POST /sms/identify pour connaître l'encodage et le nombre de segments.
Quel est le meilleur format de SMS OTP ?
Commencez par le code, nommez votre marque, indiquez la durée de validité et avertissez l'utilisateur de ne jamais communiquer le code, le tout en un seul segment. Utilisez un identifiant d'expéditeur transactionnel et n'ajoutez aucune offre, pour que les réseaux ne filtrent pas le message comme du marketing.
Que faire si le SMS OTP n'est pas délivré ?
Surveillez les statuts du webhook pour l'identifiant du message. Si DELIVERED n'apparaît pas, ou si l'utilisateur ne saisit pas le code dans votre délai, proposez un renvoi ou basculez vers WhatsApp ou un appel vocal. Ne relancez pas indéfiniment le même numéro.
Comment protéger mon endpoint OTP contre le SMS pumping ?
N'autorisez que les pays que vous servez, limitez le débit par numéro, par appareil et par adresse IP, ajoutez une détection des bots sur les formulaires publics et déclenchez des alertes en cas de pic de requêtes vers des préfixes inhabituels. Une vérification du numéro avant l'envoi aide aussi à écarter les numéros invalides.
Combien coûte un SMS OTP ?
Le SMS OTP est facturé par segment, au tarif de la destination. Les tarifs catalogue indicatifs de BroadNet par pays figurent sur les pages de tarifs SMS, par exemple à partir de 0,0123 $ US par segment vers les Émirats arabes unis. Il n'y a ni frais de mise en service ni minimum mensuel ; votre devis confirme les tarifs.
Existe-t-il un environnement de test (sandbox) ?
L'accès de test envoie vers vos propres numéros vérifiés, sur la même API : vous testez la livraison réelle et les statuts avant la production. Il n'existe pas de sandbox publique distincte ni d'inscription instantanée en libre-service.
Guides sur ce sujet
- SMS et OTPOTP par WhatsApp et SMS : sécurité, livraison et fraude9 min de lecture
- SMS et OTPFraude au SMS pumping : comprendre l'AIT et la bloquer9 min de lecture
- IntégrationIntégration d'API de messagerie : REST, SMPP et webhooks9 min de lecture
Découvrir le reste de la plateforme
Obtenez un accès API pour vos SMS OTP
Indiquez-nous vos pays, vos volumes de vérification prévus et votre identifiant d'expéditeur. Nous émettrons un jeton pour tester vers vos propres numéros et vous aiderons à enregistrer vos identifiants d'expéditeur.
Présentez-nous votre stack et ce que vous souhaitez connecter. Un ingénieur solutions reviendra vers vous.
