获取凭证后,只需五分钟即可发送您的首条测试短信。
申请测试权限,我们将在一个工作日内回复并提供您的测试凭据。随后,获取令牌,安装TypeScript SDK并进行调用smsSendsmsPost。在您获得凭据后,约五分钟内,您的第一条测试消息就会送达您自己的已验证号码。下方的每个示例均可直接复制,第5步涵盖了上线前需要检查的事项。
实现首条消息发送的完整路径,每一步都有明确的时间进度。
- 01
申请测试权限
我们将在一个工作日内回复消息工程师会回复并提供您的测试凭据,同时预约一次30分钟的通话,讨论您的目标国家、发送量和使用场景。
- 02
首条测试短信
获得凭据后约5分钟使用快速入门代码向您自己的已验证号码发送测试短信。状态报告将返回至您的Webhook。
- 03
系统集成
2–5个工作日使用您的测试凭据针对与代码示例相同的端点进行构建和测试。BroadNet工程师将在REST或SMPP上为您提供协作支持。
- 04
审批
3–10个工作日在您进行系统集成的同时,我们将并行审核发送者身份、流量用途及目的地规则,并向各监管机构完成发送者ID报备。
- 05
正式上线
切换日您的账户已启用生产环境访问权限和通道。您的集成程序已在调用https://api.broadnet.me.
总体而言:大多数市场从申请到生产环境需5–15个工作日;若监管机构的发送者ID报备周期较长,则需更长时间。
- 您的应用程序通过REST API或SMPP发送
- BroadNet平台验证、路由并结算每条消息
- 运营商的SMSC运营商直连
- 用户手机消息已送达
获取您的访问令牌。
您的访问令牌随测试凭据一同提供:申请测试权限,我们将在一个工作日内回复。请将其存储在 BROADNET_TOKEN 环境变量中,并在每次调用时通过 Authorization: Bearer 请求头发送。本页面上的所有示例均使用生产环境基础 URL https://api.broadnet.me。
使用 POST /sms/sendSms 向您自己已验证的号码发送一条测试短信。如果返回 200 OK 且响应体为消息 ID,则说明在您编写其他代码之前,令牌已生效。
安装SDK。
BroadNet有一个官方SDK,适用于TypeScript和Node.js:npm install @broadnet/cpaas-sdk axios。它是根据BroadNet OpenAPI规范生成的。在任何其他语言中,请使用您常用的HTTP库调用REST API,或者根据OpenAPI规范生成客户端。
npm install @broadnet/cpaas-sdk axios
export BROADNET_TOKEN=your_access_token从@broadnet/cpaas-sdk导入Configuration和SMSSMSApi。如果导入成功且类型检查通过,您即可开始发送。
发送您的第一条消息。
使用您的基础URL和令牌创建一个SMSSMSApi,调用smsSendsmsPost并传入senderId、destinationNumber、message和messageType,然后记录结果。响应体即为消息ID;请保留该ID以便稍后匹配送达状态。
// 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 IDHTTP/1.1 200 OK
2603121407537573731检查您手中的手机。如果您收到了短信,那么最难的部分已经完成了——以下内容仅为操作层面的优化。
接收送达状态。
BroadNet会将送达状态推送到您账户配置的Webhook URL:在支持已读回执的渠道上显示SUBMITTED、SENT、DELIVERED、READ,或显示FAILED和REJECTED。请存储每次更新,快速回复2xx,并进行异步处理。
import express from "express";
const app = express();
app.post("/webhooks/broadnet", express.json(), async (req, res) => {
// Store the status update first, then acknowledge with a 2xx.
// Statuses: SUBMITTED, SENT, DELIVERED, READ, FAILED, REJECTED.
await db.statusUpdates.insert({ receivedAt: new Date(), body: req.body });
res.sendStatus(200);
});已在手机端确认。在消息通过网络传输时,会先收到SUBMITTED和SENT等早期更新。
收件人已阅读,适用于WhatsApp等支持已读回执的渠道。
未送达。再次发送前,请检查号码格式和您的发送者ID。
向您的手机发送一条消息,然后检查服务器日志以查看DELIVERED状态更新。
生产环境上线前。
审批完成后即可开启生产环境:包括发送者身份、流量用途和发送者ID报备,审批过程需 3–10 个工作日,可与您的集成工作同步进行。审批通过后,相同的代码即可发送生产流量。在此之前,请务必不要将令牌提交至源代码控制系统,并配置好状态报告 Webhook 以及确定您的重试策略。
- 01将密钥移至您的环境
请将BROADNET_TOKEN保存在环境变量或您的密钥管理器中,切勿将其存放在源代码控制或客户端代码中。一旦发生泄露,请立即更换。
- 02安全重试并实时监控余额
针对网络错误和5xx响应,请使用指数退避机制进行重试。每次接受的发送都会返回一个消息ID,因此请存储该ID并检查送达状态,而不是盲目重发。群发短信会在每次响应中报告您的剩余额度。
- 03固定SDK版本
请在package.json中将 @broadnet/cpaas-sdk固定为确切版本,并进行谨慎升级。API路径不带版本前缀,请密切关注变更日志和OpenAPI规范中的变化。
- 04通过状态码处理错误
错误将返回HTTP状态码以及包含status、error、message、errorCode和requestUri的ExceptionResponse主体。请修复400和401错误;针对5xx错误请使用退避机制进行重试。
- 05制定您的重试策略
默认设置:针对5xx和网络错误执行指数退避算法,绝不对4xx错误执行。超时后,请在重新发送前检查状态报告,因为第一个请求可能已被接受。
请根据您的代码运行以下检查清单。当所有选项都勾选完成后,只要审批通过,您的集成即可进入生产环境。
相同的代码路径每天处理超过3亿条消息。
您的测试流量并非模拟。您在上述步骤中配置的每一个请求、密钥和Webhook,都将通过与我们企业级流量相同的通道、计费和合规架构进行处理——且该架构每年都会根据以下认证进行审计。
快速入门问题
发送带有Authorization: Bearer请求头且包含senderId、destinationNumber、message和messageType(TEXT或UNICODE) JSON主体的POST https://api.broadnet.me/sms/sendSms请求。响应内容为消息ID。位于 /websmpp下的旧版HTTP API仍可用于SMPP时期的集成。
请在 /signup申请测试权限,BroadNet工程师将在一个工作日内回复您测试凭据,包括您在Authorization: Bearer请求头中发送的访问令牌,以及测试流量的发送地址。在收到凭据后,大约五分钟内即可发出您的第一条测试短信。
在npm上提供唯一的官方SDK:适用于TypeScript和Node.js的 @broadnet/cpaas-sdk。对于任何其他语言,您可以直接通过HTTPS调用REST API,或者根据OpenAPI规范(/developers/openapi.yaml)生成客户端。
没有您想问的问题?请咨询我们的工程团队
已完成五步。
一键启动。
先针对您自己的已验证号码进行测试,完成集成部署,然后通过同一个控制台切换至生产流量。使用相同的SDK、相同的端点,以及每天承载超过3亿条消息的相同SLA。