Choisissez votre mode d'accès
Les agents ont généralement besoin de deux éléments : des faits pour planifier et un moyen d'agir. BroadNet les maintient séparés. Le serveur de connaissances répond aux questions sans compte ; l'envoi nécessite toujours votre jeton.
Réponses publiques en lecture seule basées sur les mêmes données que ce site : couverture, règles d'identifiant d'expéditeur, listes de prix indicatives, réglementations, nombre de segments, réponses, études de cas, journal des modifications et statut.
- Authentification:
- Aucun
- Accès:
- Lecture seule · 13 outils, 60 requêtes par minute et par IP
- Idéal pour:
- Questions de planification, de recherche et de pré-vente, avant la création de tout compte.
L'API de messagerie BroadNet exposée sous forme d'outils MCP. L'agent envoie et suit les messages avec les permissions du jeton que vous lui confiez.
- Authentification:
- Bearer <token>
- Accès:
- Agit sur votre compte
- Idéal pour:
- Assistants et agents qui envoient des messages à la demande d'un utilisateur, avec confirmation humaine pour chaque envoi.
REST par jeton Bearer, une famille de chemins par canal, décrite par une spécification OpenAPI 3.1. Votre agent décide ; votre code exécute l'appel.
- Authentification:
- Bearer <token>
- Accès:
- Votre code appelle l'API · OpenAPI 3.1
- Idéal pour:
- Agents en production dont le backend gère les nouvelles tentatives, la journalisation et les limites.
L'unique SDK officiel, @broadnet/cpaas-sdk, généré à partir de la spécification OpenAPI. Les autres langages appellent l'API REST ou génèrent un client.
- Authentification:
- Bearer <token>
- Accès:
- Votre code appelle l'API · TypeScript / Node.js
- Idéal pour:
- Frameworks d'agents Node.js et définitions d'outils avec types complets.
Ce qu'un agent peut envoyer
Les mêmes règles s'appliquent quelle que soit la surface utilisée par l'agent : un identifiant d'expéditeur enregistré, un destinataire ayant donné son consentement (opt-in) et un contenu adapté au canal.
Un message par requête, ou un traitement groupé à partir d'un fichier. La facturation se fait par segment ; les textes longs ou non latins coûtent plus cher : comptez-les au préalable.
- API REST
POST /sms/sendSms(JSON)POST /sms/sendbulk(multipart)- MCP de messagerie
- Outils d'envoi SMS, par exemple
post_sms_send
Messages libres durant la fenêtre de service de 24 heures ; en dehors de celle-ci, uniquement les modèles approuvés. Les modèles sont répertoriés et envoyés par nom.
- API REST
POST /whatsapp/message/sendbulk(multipart)- MCP de messagerie
post_whatsapp_message_sendget_whatsapp_template_listpost_whatsapp_template_send
Votre système génère le code ; l'agent l'envoie dans un SMS ou dans un modèle d'authentification WhatsApp. L'API publique n'a pas de point de terminaison de vérification distinct : la vérification du code reste dans votre système.
- API REST
POST /sms/sendSmsavec le code dans le message- MCP de messagerie
- Les mêmes outils SMS et modèles WhatsApp
L'OTP vocal, les appels de synthèse vocale (text-to-speech) et l'IVR sont mis en place par votre équipe de compte. La spécification OpenAPI publique et les outils MCP couvrent les canaux de messagerie, pas les appels vocaux. Pour les appels sortants pilotés par l'IA, voir DialerBee.
- API REST
- Provisionné par compte
- MCP de messagerie
- Aucun outil de voix
Exemple concret : un agent planifie un lancement d'OTP
Un utilisateur demande à un agent de planifier l'envoi de codes de passe unique vers les Émirats arabes unis. L'agent appelle quatre outils sur le serveur de connaissances public. Les résultats ci-dessous sont les sorties réelles du serveur, limitées aux champs utilisés par l'agent.
Nous souhaitons envoyer environ 50 000 codes de connexion par mois à des clients aux Émirats arabes unis. De quoi avons-nous besoin et quel en sera le coût ?
- 1Appel d'outil
check_coverageLes Émirats arabes unis sont-ils couverts, et auprès de quels opérateurs ?→{"country":"UAE"}Résultat (tronqué){ "country": "UAE", "regulator": "TDRA (Telecommunications and Digital Government Regulatory Authority)", "channels": { "sms": "Live", "otp": "Live", "whatsapp": "Live", "rcs": "Available", "voice": "Live" }, "operators": [ { "name": "Etisalat / e&", "status": "Direct" }, { "name": "du", "status": "Direct" }, { "name": "Virgin Mobile", "status": "Operator-grade" } ] } - 2Appel d'outil
sender_id_rulesDe quoi un identifiant d'expéditeur a-t-il besoin là-bas ?→{"country":"ae"}Résultat (tronqué){ "typicalLeadTime": "5-7 business days", "requirements": [ { "format": "Alphanumeric (Latin or Arabic), up to 11 chars. AD- prefix mandatory on promotional senders.", "preRegistration": "Required — one sender ID per legal entity per use case" } ], "marketingRules": { "quietHours": "TDRA's spam policy bars marketing text messages between 21:00 and 07:00 GST. Transactional OTP and alerts are 24/7." } } - 3Appel d'outil
count_sms_segmentsCombien de segments compte le message ?→{"text":"Your MyShop code is 482913. It expires in 5 minutes. Never share it."}Résultat (tronqué){ "encoding": "GSM-7", "units": 68, "segments": 1 } - 4Appel d'outil
estimate_priceQuel est le prix indicatif ?→{"country":"UAE","channel":"sms","volume":50000}Résultat (tronqué){ "country": "UAE", "unitPriceUsd": 0.0123, "unit": "per SMS segment", "estimatedMonthlyUsd": 615, "ratesReviewed": "2026-09-24", "note": "Indicative list rate, excluding taxes and sender-ID fees. Volume pricing available; a written quote confirms per-operator pricing." }
Les Émirats arabes unis sont couverts en direct opérateur (Etisalat / e& · du). Votre identifiant d'expéditeur doit être pré-enregistré auprès de la TDRA, généralement sous 5–7 jours ouvrés. Votre message de code tient en 1 segment SMS. Au tarif indicatif de 0,0123 $US par segment, 50 000 codes reviennent à environ 615 $US par mois, hors taxes et frais d'identifiant d'expéditeur. Ceci n'est pas un devis.
Étape suivante : demandez un accès de test sur broadnet.me/signup. Une fois que vous aurez un jeton, je pourrai envoyer un code de test à votre propre numéro vérifié via le serveur de messagerie. Souhaitez-vous que je prépare ce message pour confirmation ?
Généré à partir de la sortie réelle des outils à chaque déploiement
Copier et coller
Les exemples utilisent uniquement des numéros fictifs. Lisez le jeton depuis une variable d'environnement ; ne le collez jamais dans un chat ni dans un fichier versionné.
{
"mcpServers": {
"broadnet-knowledge": {
"type": "http",
"url": "https://www.broadnet.me/mcp"
},
"broadnet": {
"type": "http",
"url": "https://mcp.broadnet.me/mcp",
"headers": {
"Authorization": "Bearer ${BROADNET_TOKEN}"
}
}
}
}curl -X POST https://www.broadnet.me/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "MCP-Protocol-Version: 2025-06-18" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call",
"params":{"name":"estimate_price",
"arguments":{"country":"UAE","channel":"sms","volume":50000}}}'curl -X POST https://api.broadnet.me/sms/sendSms \
-H "Authorization: Bearer $BROADNET_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"senderId": "BroadNet",
"destinationNumber": "447700900123",
"message": "Your verification code is 482913",
"messageType": "TEXT"
}'
# 200 OK → response body is the message ID, e.g. 2603121407537573731// npm install @broadnet/cpaas-sdk axios
import { Configuration, SMSSMSApi } from "@broadnet/cpaas-sdk";
const sms = new SMSSMSApi(
new Configuration({
basePath: "https://api.broadnet.me",
accessToken: process.env.BROADNET_TOKEN!,
}),
);
const res = await sms.smsSendsmsPost({
sMSSmsRequest: {
senderId: "BroadNet",
destinationNumber: "447700900123",
message: "Your verification code is 482913",
messageType: "TEXT",
},
});
console.log(res.data); // message ID# Send an approved WhatsApp template
curl -X POST https://api.broadnet.me/whatsapp/message/sendbulk \
-H "Authorization: Bearer $BROADNET_TOKEN" \
-F batchId=0 \
-F campaignName=order-updates \
-F destinationNo=447700900123 \
-F messageType=TEMPLATE \
-F templateName=order_update \
-F templateLanguage=en_US \
-F bodyTemplateVariables=INV-400
# 200 OK → the response carries the batchId; per-recipient status
# (SUBMITTED → SENT → DELIVERED → READ) arrives on your webhook.Points d'entrée lisibles par machine
Les agents qui naviguent plutôt que de se connecter peuvent tout lire dans de simples fichiers. Aucun ne nécessite de connexion.
- llms.txt
/llms.txtL'index du site pour les modèles de langage, avec une section sur l'accès et les contraintes des agents, plus un fichier par langue.
- Compétences de l'agent
/.well-known/agent-skills/index.jsonCinq guides d'exécution SKILL.md : couverture et prix, enregistrement de l'identifiant d'expéditeur, un premier SMS de test, accès de test et connexion aux serveurs MCP.
- Fiche agent A2A
/.well-known/agent-card.jsonUne fiche Agent2Agent pour les mêmes outils de connaissances en lecture seule, diffusée via JSON-RPC à /a2a.
- Catalogue API
/.well-known/api-catalogUn ensemble de liens RFC 9727 pointant vers la spécification OpenAPI, la documentation API, les deux serveurs MCP et la page de statut.
- Carte serveur MCP
/.well-known/mcp.jsonLa carte serveur décrivant les deux serveurs MCP, leur transport et leur authentification.
- OpenAPI 3.1
/developers/openapi.yamlLa description complète de l'API REST : téléchargez-la ou générez-en un client typé.
- Jumeaux Markdown
/pricing/sms/uae.mdAjoutez .md à la plupart des URL de la page, ou envoyez Accept: text/markdown, pour obtenir une copie Markdown propre de la page.
- Fichiers de données
/data/coverage.jsonCouverture, tarifs publiés et réglementations pour chaque marché sous forme de JSON (CSV pour la couverture et les tarifs).
- Statut JSON
/status/api/v2/summary.jsonAccessibilité mesurée du site web, de la passerelle API et des deux points de terminaison MCP, sous la forme du résumé Statuspage v2.
Règles que l'agent doit suivre
Un agent qui envoie des messages agit au nom de votre marque avec vos identifiants. Intégrez ces règles dans ses instructions et ses outils.
- Le consentement avant le contenu
Envoyez des messages marketing uniquement aux destinataires ayant donné leur consentement (opt-in), et conservez la preuve de ce consentement. L'outil sender_id_rules renvoie les règles de consentement (opt-in) de chaque marché.
- Respectez les demandes de désinscription
Les messages promotionnels incluent le mot-clé de désinscription du marché, tel que STOP. Un agent n'envoie jamais de message à un numéro qui s'est désinscrit.
- Identifiants d'expéditeur enregistrés uniquement
De nombreux marchés exigent le pré-enregistrement des identifiants d'expéditeur alphanumériques. L'agent utilise les identifiants d'expéditeur approuvés sur votre compte, jamais un identifiant inventé.
- Respectez les heures de silence
Plusieurs marchés interdisent le marketing la nuit. sender_id_rules renvoie les heures de silence sourcées ; les OTP et les alertes sont généralement autorisés 24 h/24.
- Protégez les flux OTP contre le pumping
Les bots peuvent déclencher des envois OTP vers des numéros dont ils tirent profit. Limitez le débit des demandes de code par numéro, IP et appareil, et bloquez les destinations que vous ne desservez pas. MyOTP active ces protections par défaut.
- Une personne confirme chaque envoi
Demandez au client l'autorisation avant d'utiliser tout outil d'envoi, en particulier vers de nombreux destinataires, et n'activez que les outils nécessaires à l'agent.
- Testez sur votre propre numéro
Avec des identifiants de test, envoyez uniquement à votre propre numéro vérifié. Les exemples et les prompts utilisent des numéros fictifs.
- Ne communiquez pas le jeton dans le chat
Le jeton est un identifiant d'envoi. Chargez-le via une variable d'environnement, jamais via un prompt, et révoquez-le en cas de fuite.
Articles connexes
Détails des deux serveurs : points de terminaison (endpoints), authentification, configuration client et démo.
De l'accès de test au premier SMS avec curl ou TypeScript SDK.
Point de terminaison d'envoi pour chaque canal, authentification Bearer et format des erreurs.
Comment effectuer un réessai sans envoyer de message en double.
Encodage et nombre de segments pour tout texte de message.
Modèles de reconnaissance vocale et de vision en arabe pour les agents vocaux et de documents.
Numéroteur sortant multilingue piloté par l'IA pour les centres de contact.
Comment fonctionne la fraude à l'OTP et les défenses qui l'arrêtent.
Questions
Un agent IA peut-il envoyer des messages SMS et WhatsApp via BroadNet ?
Oui. Connectez-le au serveur de messagerie MCP à l'adresse https://mcp.broadnet.me/mcp avec votre jeton BroadNet, ou faites appeler l'API REST https://api.broadnet.me par votre code. Dans les deux cas, l'agent agit avec les permissions de votre jeton : exigez qu'une personne confirme chaque envoi.
Un agent a-t-il besoin d'un compte pour s'informer sur la couverture ou les tarifs ?
Non. Le serveur de connaissances MCP de https://www.broadnet.me/mcp est public et en lecture seule. Il renvoie la couverture, les règles relatives à l'identifiant d'expéditeur, les tarifs indicatifs et les réglementations à partir des mêmes données que le site web. Les prix sont des tarifs indicatifs et non des devis.
Comment un agent envoie-t-il un mot de passe à usage unique ?
Votre système génère le code et l'agent l'envoie dans un SMS avec POST /sms/sendSms, ou dans un modèle d'authentification WhatsApp. L'API publique n'a pas de point de terminaison de vérification distinct : la vérification du code reste dans votre système.
Un agent peut-il passer des appels vocaux ?
L'OTP vocal, les appels de synthèse vocale et l'IVR sont mis en place par votre équipe de compte BroadNet. Ils ne figurent ni dans la spécification OpenAPI publique ni dans les outils MCP. DialerBee est le numéroteur sortant IA de BroadNet pour les centres de contact.
Comment obtenir un jeton ?
Demandez un accès de test sur /signup. BroadNet répond sous un jour ouvré avec des identifiants de test. Il n'existe pas de clé instantanée en libre-service.
Connectez votre agent à BroadNet
Commencez dès aujourd'hui avec le serveur de connaissances public. Demandez un accès de test lorsque votre agent sera prêt à envoyer.