BroadNet
Pour les agents IA·/developers/ai-agents

Messagerie et voix pour les agents IA.

Offrez à un agent IA un moyen sûr de consulter la couverture, les règles et les tarifs, et d'envoyer des SMS, des messages WhatsApp et des codes à usage unique depuis votre compte BroadNet. Utilisez l'interface qui convient à votre stack : deux serveurs MCP, l'API REST, le SDK TypeScript ou de simples fichiers lisibles par machine.

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.

Serveur de connaissances MCP

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.

https://www.broadnet.me/mcp
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.
Serveur de messagerie MCP

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.

https://mcp.broadnet.me/mcp
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.
API REST

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.

https://api.broadnet.me
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.
TypeScript SDK

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.

npm i @broadnet/cpaas-sdk
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.

SMS

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
WhatsApp

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
OTP

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/sendSms avec le code dans le message
MCP de messagerie
Les mêmes outils SMS et modèles WhatsApp
Voix

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.

Utilisateur

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 ?

  1. Appel d'outilcheck_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" }
      ]
    }
  2. Appel d'outilsender_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." }
    }
  3. Appel d'outilcount_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
    }
  4. Appel d'outilestimate_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."
    }
Agent

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é.

mcp.json — les deux serveurs
{
  "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}"
      }
    }
  }
}
tools/call estimate_price (serveur de connaissances)
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}}}'
envoyer un SMS (API REST)
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
HTTP 200 renvoie l'ID du message. L'API n'a pas d'en-tête d'idempotence : après une erreur réseau ou un 5xx, vérifiez le statut du message par son ID avant de renvoyer.
le même envoi avec le TypeScript SDK
// 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
envoyer un modèle WhatsApp approuvé (API REST)
# 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.
Les modèles fonctionnent en dehors de la fenêtre de service de 24 heures ; le texte libre nécessite une fenêtre ouverte.

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.

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

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.