简短回答
要为应用接入短信发送,需在后端使用访问令牌调用服务商的短信 API,传入国际格式的收件人号码、已获批的 Sender ID 和短信内容。保存返回的消息 ID,通过 Webhook 接收送达状态,并在上线前处理好错误、重试和限流。
接入步骤
- 获取测试凭据,并登记要发送的测试号码。
- 将 API 令牌保存在服务器的密钥管理器或环境变量中,切勿放入手机 App 或浏览器代码。
- 号码以 E.164 格式存储,并转换成 API 要求的格式。
- 选择编码:GSM-7 文本,或用于阿拉伯语、emoji 及其他文字的 Unicode。
- 发送短信,并将返回的消息 ID 与您自己的记录一起保存。
- 配置 Webhook 以接收送达状态。
- 对 429 和 5xx 响应加入带退避的重试,并为每个有要求的国家注册 Sender ID。
需要避免的错误
- 在客户端 App 中直接调用 API,这会让任何人都能获取令牌。
- API 只接受纯数字时,却传入带加号、空格或本国前导零的号码。
- 让一个弯引号或 emoji 把整条短信切换成 Unicode,从而减少每段可容纳的字符数。
- 超时后盲目重试。如果 API 没有幂等键,请先记录每次发送,重发前先核对其状态。
- 忽略 429 响应,而不是等待 Retry-After 头指定的时间。
示例:单条短信请求
在 OmniChannels.ai 上,您通过 POST https://api.broadnet.me/sms/sendSms、Authorization: Bearer 头和 JSON 请求体发送一条短信。调用成功会返回 200,正文为纯文本的消息 ID。测试权限在简短申请后开通,仅可发送到您自己已验证的号码;不提供即时自助注册。
| 字段 | 示例 | 说明 |
|---|---|---|
| senderId | OmniDemo | 您已获批的 Sender ID |
| destinationNumber | 447700900123 | 国家区号加号码,仅数字 |
| message | Your code is 482913 | 短信内容 |
| messageType | TEXT | GSM-7 用 TEXT,阿拉伯语和 emoji 用 UNICODE |
