Escolha a forma de acesso
Os agentes precisam normalmente de duas coisas: factos para planear e uma forma de agir. A BroadNet mantém-nas separadas. O servidor de conhecimento responde a perguntas sem conta; o envio exige sempre o seu token.
Respostas públicas, de apenas leitura, com os mesmos dados deste website: cobertura, regras de ID de remetente, listas de preços indicativas, regulamentações, contagem de segmentos, respostas, estudos de caso, registo de alterações e estado.
- Autenticação:
- Nenhum
- Acesso:
- Apenas leitura · 13 ferramentas, 60 pedidos por minuto por IP
- Ideal para:
- Questões de planeamento, investigação e pré-venda, antes de existir qualquer conta.
A API de mensagens da BroadNet exposta como ferramentas MCP. O agente envia e acompanha mensagens com as permissões do token que lhe atribuir.
- Autenticação:
- Bearer <token>
- Acesso:
- Atua na sua conta
- Ideal para:
- Assistentes e agentes que enviam mensagens mediante o pedido de um utilizador, com uma pessoa a confirmar cada envio.
API REST com token Bearer, uma família de caminhos por canal, descrita por uma especificação OpenAPI 3.1. O seu agente decide; o seu código faz a chamada.
- Autenticação:
- Bearer <token>
- Acesso:
- O seu código chama a API · OpenAPI 3.1
- Ideal para:
- Agentes em produção em que o seu backend gere as novas tentativas, o registo e os limites.
O único SDK oficial, @broadnet/cpaas-sdk, gerado a partir da especificação OpenAPI. As outras linguagens chamam a API REST ou geram um cliente.
- Autenticação:
- Bearer <token>
- Acesso:
- O seu código chama a API · TypeScript / Node.js
- Ideal para:
- Frameworks de agentes Node.js e definições de ferramentas com tipos completos.
O que um agente pode enviar
As mesmas regras aplicam-se seja qual for a interface que o agente utilize: um remetente registado, um destinatário com consentimento e conteúdo adequado ao canal.
Uma mensagem por pedido, ou um envio em massa a partir de um ficheiro. A faturação é por segmento, pelo que textos longos ou não latinos custam mais: conte-os primeiro.
- API REST
POST /sms/sendSms(JSON)POST /sms/sendbulk(multipart)- MCP de mensagens
- Ferramentas de envio SMS, por exemplo
post_sms_send
Mensagens de formato livre dentro da janela de serviço de 24 horas; fora dela, apenas modelos aprovados. Os modelos são listados e enviados pelo nome.
- API REST
POST /whatsapp/message/sendbulk(multipart)- MCP de mensagens
post_whatsapp_message_sendget_whatsapp_template_listpost_whatsapp_template_send
O seu sistema gera o código; o agente envia-o num SMS ou num modelo de autenticação WhatsApp. A API pública não tem um endpoint de verificação separado, pelo que a validação do código fica no seu sistema.
- API REST
POST /sms/sendSmscom o código na mensagem- MCP de mensagens
- As mesmas ferramentas de SMS e de modelos WhatsApp
O OTP por voz, as chamadas text-to-speech e o IVR são disponibilizados através da sua equipa de conta. A especificação OpenAPI pública e as ferramentas MCP cobrem os canais de mensagens, não as chamadas de voz. Para chamadas de saída com IA, consulte DialerBee.
- API REST
- Provisionado por conta
- MCP de mensagens
- Sem ferramentas de voz
Um exemplo prático: um agente planeia um lançamento de OTP
Um utilizador pede a um agente que planeie o envio de códigos de utilização única para os EAU. O agente chama quatro ferramentas no servidor de conhecimento público. Os resultados abaixo são a saída real do servidor, reduzida aos campos que o agente utiliza.
Queremos enviar cerca de 50.000 códigos de início de sessão por mês para clientes nos Emirados Árabes Unidos. Do que necessitamos e qual será o custo?
- 1Chamada de ferramenta
check_coverageOs Emirados Árabes Unidos estão cobertos? Em que operadores?→{"country":"UAE"}Resultado (reduzido){ "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" } ] } - 2Chamada de ferramenta
sender_id_rulesO que é preciso lá para um ID de remetente?→{"country":"ae"}Resultado (reduzido){ "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." } } - 3Chamada de ferramenta
count_sms_segmentsQuantos segmentos ocupa a mensagem?→{"text":"Your MyShop code is 482913. It expires in 5 minutes. Never share it."}Resultado (reduzido){ "encoding": "GSM-7", "units": 68, "segments": 1 } - 4Chamada de ferramenta
estimate_priceQual é o preço indicativo?→{"country":"UAE","channel":"sms","volume":50000}Resultado (reduzido){ "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." }
Os EAU têm cobertura direta com os operadores (Etisalat / e& · du). O seu ID de remetente exige pré-registo junto da TDRA, normalmente em 5–7 dias úteis. A mensagem com o código ocupa 1 segmento SMS. À tarifa indicativa de tabela de US$ 0,0123 por segmento, 50.000 códigos custam cerca de US$ 615 por mês, sem impostos nem taxas de ID de remetente. Isto não é um orçamento.
Próximo passo: solicite acesso de teste em broadnet.me/signup. Assim que tiver um token, poderei enviar um código de teste para o seu próprio número verificado através do servidor de mensagens. Deseja que eu prepare essa mensagem para confirmação?
Gerado a partir da saída real das ferramentas em cada implementação
Copiar e colar
Os exemplos utilizam apenas números fictícios. Leia o token de uma variável de ambiente; nunca o cole num chat nem num ficheiro guardado no repositório.
{
"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.Pontos de entrada legíveis por máquina
Os agentes que navegam em vez de se ligarem podem ler tudo em ficheiros simples. Nenhum exige login.
- llms.txt
/llms.txtO índice do site para modelos de linguagem, com uma secção sobre o acesso e as restrições dos agentes, além de um ficheiro por idioma.
- Competências de agente
/.well-known/agent-skills/index.jsonCinco runbooks SKILL.md: cobertura e preço, registo do ID de remetente, um primeiro SMS de teste, acesso de teste e ligação aos servidores MCP.
- Cartão de agente A2A
/.well-known/agent-card.jsonUm cartão Agent2Agent para as mesmas ferramentas de conhecimento de apenas leitura, servidas via JSON-RPC em /a2a.
- Catálogo API
/.well-known/api-catalogUm conjunto de ligações RFC 9727 que aponta para a especificação OpenAPI, a documentação API, ambos os servidores MCP e a página de estado.
- Cartão do servidor MCP
/.well-known/mcp.jsonO cartão do servidor que descreve ambos os servidores MCP, o seu transporte e autenticação.
- OpenAPI 3.1
/developers/openapi.yamlA descrição completa da API REST: descarregue-a ou gere a partir dela um cliente tipado.
- Versões em Markdown
/pricing/sms/uae.mdAdicione .md à maioria das URLs da página, ou envie Accept: text/markdown, para obter uma cópia limpa da página em Markdown.
- Ficheiros de dados
/data/coverage.jsonCobertura, preços publicados e regulamentações para cada mercado como JSON (CSV para cobertura e preços).
- Estado em JSON
/status/api/v2/summary.jsonDisponibilidade medida do website, do gateway da API e dos dois endpoints MCP, no formato de resumo Statuspage v2.
Regras que um agente deve seguir
Um agente que envia mensagens atua em nome da sua marca com as suas credenciais. Integre estas regras nas suas instruções e ferramentas.
- Consentimento antes do conteúdo
Envie marketing apenas para destinatários que deram o seu consentimento e mantenha o registo de opt-in. A ferramenta sender_id_rules devolve as regras de opt-in de cada mercado.
- Respeite os opt-outs
As mensagens promocionais incluem a palavra-chave de opt-out do mercado, como STOP. Um agente nunca envia mensagens para um número que tenha optado pela exclusão.
- Apenas IDs de remetente registados
Muitos mercados exigem o pré-registo de IDs de remetente alfanuméricos. O agente utiliza os IDs de remetente aprovados na sua conta, nunca um inventado.
- Respeite as horas de silêncio
Vários mercados proíbem o marketing durante a noite. O sender_id_rules devolve as horas de silêncio com a respetiva fonte; os OTP e os alertas são geralmente permitidos a qualquer hora.
- Proteja os fluxos de OTP contra o pumping
Os bots podem desencadear envios de OTP para números com os quais os burlões lucram. Limite os pedidos de código por número, IP e dispositivo, e bloqueie os destinos que não serve. O MyOTP traz estas proteções ativas por predefinição.
- Uma pessoa confirma cada envio
Faça com que o cliente peça confirmação antes de qualquer ferramenta que envie, sobretudo para muitos destinatários, e ative apenas as ferramentas de que o agente precisa.
- Teste no seu próprio número
Com credenciais de teste, envie apenas para o seu próprio número verificado. Os exemplos e os prompts utilizam números fictícios.
- Mantenha o token fora do chat
O token é uma credencial de envio. Carregue-o a partir de uma variável de ambiente, nunca de um prompt, e revogue-o se for exposto.
Relacionado
Detalhes de ambos os servidores: endpoints, autenticação, configuração do cliente e a demonstração.
Do acesso de teste ao primeiro SMS com curl ou com o TypeScript SDK.
O endpoint de envio de cada canal, a autenticação Bearer e o formato de erro.
Como voltar a tentar sem enviar uma mensagem duas vezes.
Codificação e contagem de segmentos para qualquer texto de mensagem.
Modelos de visão e de conversão de fala em texto em árabe para agentes de voz e de documentos.
Marcador de saída multilingue com IA para centros de contacto.
Como funciona a fraude de OTP e as defesas que a travam.
Perguntas
Um agente de IA pode enviar mensagens SMS e WhatsApp através da BroadNet?
Sim. Ligue-o ao servidor de mensagens MCP em https://mcp.broadnet.me/mcp com o seu token BroadNet, ou faça com que o seu código chame a API REST em https://api.broadnet.me. Em ambos os casos o agente atua com as permissões do seu token, por isso exija que uma pessoa confirme cada envio.
Um agente precisa de uma conta para perguntar sobre cobertura ou preços?
Não. O servidor de conhecimento MCP em https://www.broadnet.me/mcp é público e só de leitura. Devolve cobertura, regras de ID de remetente, preços de tabela indicativos e regulamentação a partir dos mesmos dados do website. Os preços são tarifas de tabela indicativas, não orçamentos.
Como é que um agente envia um código de acesso único?
O seu sistema gera o código e o agente envia-o num SMS com POST /sms/sendSms, ou num modelo de autenticação WhatsApp. A API pública não tem um endpoint de verificação separado, pelo que a validação do código fica no seu sistema.
Um agente pode efetuar chamadas de voz?
O OTP por voz, as chamadas text-to-speech e o IVR são disponibilizados através da sua equipa de conta BroadNet. Não constam da especificação OpenAPI pública nem das ferramentas MCP. O DialerBee é o marcador de saída com IA da BroadNet para centros de contacto.
Como obtenho um token?
Solicite acesso de teste em /signup. A BroadNet responde num dia útil com credenciais de teste. Não existe uma chave instantânea em regime de self-service.
Ligue o seu agente à BroadNet
Comece hoje com o servidor de conhecimento público. Solicite acesso de teste quando o seu agente estiver pronto para enviar.