BroadNet
Para agentes de IA·/developers/ai-agents

Mensajería y voz para agentes de IA.

Dé a un agente de IA una forma segura de consultar cobertura, reglas y precios, y de enviar SMS, mensajes de WhatsApp y códigos de un solo uso desde su cuenta BroadNet. Utilice la interfaz que mejor se adapte a su stack: dos servidores MCP, la API REST, el SDK de TypeScript o archivos legibles por máquina.

Elija su método de acceso

Los agentes suelen necesitar dos cosas: datos para planificar y una forma de actuar. BroadNet los mantiene separados. El servidor de conocimiento responde preguntas sin necesidad de una cuenta; el envío siempre requiere su token.

Servidor de conocimiento MCP

Respuestas públicas de solo lectura con los mismos datos que este sitio web: cobertura, reglas del ID de remitente, listas de precios indicativas, regulaciones, recuento de segmentos, respuestas, casos de estudio, registro de cambios y estado.

https://www.broadnet.me/mcp
Autenticación:
Ninguno
Acceso:
Solo lectura · 13 herramientas, 60 solicitudes por minuto por IP
Ideal para:
Preguntas de planificación, investigación y preventa, antes de que exista cualquier cuenta.
Servidor de mensajería MCP

La API de mensajería de BroadNet expuesta como herramientas MCP. El agente envía y sigue mensajes con los permisos del token que usted le asigne.

https://mcp.broadnet.me/mcp
Autenticación:
Bearer <token>
Acceso:
Actúa en su cuenta
Ideal para:
Asistentes y agentes que envían mensajes a petición de un usuario, con una persona confirmando cada envío.
API REST

API REST con token Bearer, una familia de rutas por canal, descrita en una especificación OpenAPI 3.1. Su agente decide; su código hace la llamada.

https://api.broadnet.me
Autenticación:
Bearer <token>
Acceso:
Su código llama a la API · OpenAPI 3.1
Ideal para:
Agentes de producción donde su backend gestiona los reintentos, el registro y los límites.
TypeScript SDK

El único SDK oficial, @broadnet/cpaas-sdk, generado a partir de la especificación OpenAPI. Los demás lenguajes llaman a la API REST o generan un cliente.

npm i @broadnet/cpaas-sdk
Autenticación:
Bearer <token>
Acceso:
Su código llama a la API · TypeScript / Node.js
Ideal para:
Frameworks de agentes Node.js y definiciones de herramientas con tipos completos.

Lo que un agente puede enviar

Se aplican las mismas reglas independientemente de la interfaz que utilice el agente: un ID de remitente registrado, un destinatario con consentimiento y un contenido adecuado para el canal.

SMS

Un mensaje por solicitud, o un trabajo masivo desde un archivo. La facturación es por segmento, por lo que los textos largos o no latinos cuestan más: cuéntelos primero.

API REST
POST /sms/sendSms (JSON) POST /sms/sendbulk (multipart)
MCP de mensajería
Herramientas de envío de SMS, por ejemplo post_sms_send
WhatsApp

Mensajes de formato libre dentro de la ventana de servicio de 24 horas; fuera de ella, solo plantillas aprobadas. Las plantillas se enumeran y se envían por nombre.

API REST
POST /whatsapp/message/sendbulk (multipart)
MCP de mensajería
post_whatsapp_message_sendget_whatsapp_template_listpost_whatsapp_template_send
OTP

Su sistema genera el código; el agente lo envía en un SMS o en una plantilla de autenticación de WhatsApp. La API pública no tiene un endpoint de verificación independiente, por lo que la comprobación del código se queda en su sistema.

API REST
POST /sms/sendSms con el código en el mensaje
MCP de mensajería
Las mismas herramientas de SMS y de plantillas de WhatsApp
Voz

El OTP por voz, las llamadas de texto a voz y el IVR se habilitan a través de su equipo de cuenta. La especificación OpenAPI pública y las herramientas MCP cubren los canales de mensajería, no las llamadas de voz. Para llamadas salientes con IA, consulte DialerBee.

API REST
Aprovisionado por cuenta
MCP de mensajería
Sin herramientas de voz

Un ejemplo práctico: un agente planifica un lanzamiento de OTP

Un usuario pide a un agente que planifique el envío de códigos de un solo uso a los EAU. El agente realiza cuatro llamadas a herramientas en el servidor de conocimiento público. Los resultados a continuación son la salida real del servidor, recortada a los campos que utiliza el agente.

Usuario

Queremos enviar unos 50.000 códigos de inicio de sesión al mes a clientes en los EAU. ¿Qué necesitamos y cuánto costará?

  1. Llamada a herramientacheck_coverage¿Están cubiertos los EAU? ¿Con qué operadores?
    →{"country":"UAE"}
    Resultado (recortado)
    {
      "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. Llamada a herramientasender_id_rules¿Qué se necesita para un ID de remitente allí?
    →{"country":"ae"}
    Resultado (recortado)
    {
      "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. Llamada a herramientacount_sms_segments¿Cuántos segmentos ocupa el mensaje?
    →{"text":"Your MyShop code is 482913. It expires in 5 minutes. Never share it."}
    Resultado (recortado)
    {
      "encoding": "GSM-7",
      "units": 68,
      "segments": 1
    }
  4. Llamada a herramientaestimate_price¿Cuál es el precio indicativo?
    →{"country":"UAE","channel":"sms","volume":50000}
    Resultado (recortado)
    {
      "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."
    }
Agente

Los EAU tienen cobertura directa con los operadores (Etisalat / e& · du). Su ID de remitente requiere registro previo ante la TDRA, que suele tardar 5–7 días hábiles. Su mensaje con el código ocupa 1 segmento SMS. Con la tarifa de lista indicativa de 0,0123 US$ por segmento, 50.000 códigos suponen unos 615 US$ al mes, sin impuestos ni tasas de ID de remitente. Esto no es un presupuesto.

Siguiente paso: solicite acceso de prueba en broadnet.me/signup. Una vez que tenga un token, puedo enviar un código de prueba a su propio número verificado a través del servidor de mensajería. ¿Preparo ese mensaje para que lo confirme?

Generado con la salida real de las herramientas en cada despliegue

Copiar y pegar

Los ejemplos usan solo números ficticios. Lea el token desde una variable de entorno; nunca lo pegue en un chat ni en un archivo versionado.

mcp.json — ambos servidores
{
  "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 (servidor de conocimiento)
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}}}'
enviar 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 devuelve el ID del mensaje. La API no tiene encabezado de idempotencia: tras un error de red o un 5xx, compruebe el estado del mensaje por su ID antes de volver a enviarlo.
el mismo envío con el SDK de TypeScript
// 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
enviar una plantilla de WhatsApp aprobada (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.
Las plantillas funcionan fuera de la ventana de servicio de 24 horas; el texto libre requiere una ventana abierta.

Puntos de entrada legibles por máquina

Los agentes que navegan en lugar de conectarse pueden leerlo todo en archivos simples. Ninguno requiere inicio de sesión.

Reglas que un agente debe seguir

Un agente que envía mensajes actúa en nombre de su marca utilizando sus credenciales. Integre estas reglas en sus instrucciones y herramientas.

  • Consentimiento previo al contenido

    Envíe mensajes de marketing solo a los destinatarios que hayan dado su consentimiento y conserve el registro de dicha aceptación. La herramienta sender_id_rules devuelve las reglas de consentimiento de cada mercado.

  • Respete las bajas

    Los mensajes promocionales incluyen la palabra clave de baja del mercado, como STOP. Un agente nunca enviará mensajes a un número que haya solicitado la baja.

  • Solo ID de remitente registrados

    Muchos mercados requieren el registro previo de los ID de remitente alfanuméricos. El agente utiliza los ID de remitente aprobados en su cuenta, nunca uno inventado.

  • Respete el horario restringido

    Varios mercados prohíben el marketing por la noche. sender_id_rules devuelve el horario restringido con su fuente; los OTP y las alertas suelen permitirse a cualquier hora.

  • Proteja los flujos de OTP contra el bombeo (pumping)

    Los bots pueden activar envíos de OTP a números con los que obtienen beneficios. Limite la frecuencia de las solicitudes de código por número, IP y dispositivo, y bloquee los destinos a los que no presta servicio. MyOTP incluye estas protecciones de forma predeterminada.

  • Una persona confirma cada envío

    Solicite permiso al cliente antes de utilizar cualquier herramienta de envío, especialmente si se dirige a múltiples destinatarios, y habilite únicamente las herramientas que el agente necesite.

  • Realice pruebas en su propio número

    Con las credenciales de prueba, envíe mensajes únicamente a su propio número verificado. Los ejemplos y los prompts utilizan números ficticios.

  • Mantenga el token fuera del chat

    El token es una credencial de envío. Cárguelo desde una variable de entorno, nunca desde un prompt, y revóquelo si se filtra.

Relacionado

Preguntas

¿Puede un agente de IA enviar mensajes SMS y WhatsApp a través de BroadNet?

Sí. Conéctelo al servidor de mensajería MCP en https://mcp.broadnet.me/mcp con su token BroadNet, o haga que su código llame a la API REST en https://api.broadnet.me. En ambos casos el agente actúa con los permisos de su token, así que exija que una persona confirme cada envío.

¿Necesita un agente una cuenta para consultar la cobertura o los precios?

No. El servidor de conocimiento MCP en https://www.broadnet.me/mcp es público y de solo lectura. Devuelve la cobertura, las reglas del ID de remitente, los precios de lista indicativos y las regulaciones utilizando los mismos datos que el sitio web. Los precios son tarifas de lista indicativas, no presupuestos.

¿Cómo envía un agente un código de un solo uso?

Su sistema genera el código y el agente lo envía en un SMS con POST /sms/sendSms, o en una plantilla de autenticación de WhatsApp. La API pública no tiene un endpoint de verificación independiente, por lo que la comprobación del código se queda en su sistema.

¿Puede un agente realizar llamadas de voz?

El OTP por voz, las llamadas de texto a voz y el IVR se habilitan a través de su equipo de cuenta de BroadNet. No están en la especificación OpenAPI pública ni en las herramientas MCP. DialerBee es el marcador saliente con IA de BroadNet para centros de contacto.

¿Cómo obtengo un token?

Solicite acceso de prueba en /signup. BroadNet responde en un día hábil con credenciales de prueba. No existe una clave instantánea de autoservicio.

Conecte su agente a BroadNet

Comience hoy mismo con el servidor de conocimiento público. Solicite acceso de prueba cuando su agente esté listo para realizar envíos.