Send SMS Template¶
按照短信模板发送短信,指定短信模板中的参数值,部分短信运营商还支持定义正文前的短信签名。
请求发送成功后,短信发送请求将被放入消息队列,API 将返回一个 eventId,后续你可以调用 Search Send Result API,通过 eventId 查看实际发送结果。
请求格式¶
POST https://{apigw-address}/notification-center-service/v2.0/template/sms
请求参数 (URI)¶
名称 |
位置(Path/Query) |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|---|
orgId |
Query |
必需 |
String |
组织 ID。如何获取 orgId 信息>> |
请求参数 (Body)¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
variables |
必需 |
Map<String, String> |
从短信模板中选取需要使用的变量,并指定变量的值。可前往 EnOS 应用门户 > 开发者控制台 中选择 通知管理 > 消息管理 > 模板管理,在 短信 标签页中查看当前模板可用的变量。 |
templateCode |
必需 |
String |
模板标识符(Identifier)。 |
phones |
必需 |
List<Phone> |
收件人的手机区号及电话号码。 |
tunnelCode |
可选,若不指定 |
String |
短信通道代码,所有可用的通道代码均列在 常量 > SMS Tunnel Code 中。至少指定 |
tunnelIdentifier |
可选,若不指定 |
String |
短信通道标识符,用于指定同一运营商的不同短信通道(仅支持当前 OU 和 system OU 中定义的通道)。若不指定,默认为 null。至少指定 |
signatureCode |
可选 |
String |
如需在短信前增加短信签名,可指定一个签名标识符。可前往 EnOS 应用门户 > 开发者控制台 中选择 通知管理 > 消息管理 > 基础设置,在 短信 标签页中查看当前 OU 可用的短信签名。 |
priority |
可选 |
Enum |
消息发送优先度,值支持 |
响应参数¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
eventId |
必需 |
String |
消息通知 event ID,你可以通过 event ID 查询本次消息推送的实际结果。 |
常量 ¶
名称 |
值 |
描述 |
---|---|---|
SMS Tunnel code |
|
短信通道代码。系统通道代码在所有 OU 中都可用。OU 通道代码是在该 OU 中已设置的通道的运营商代码,以当前 OU 的配置为准。 |
Email sender code |
NOTICE_GW |
邮件发送商代码,系统默认,在所有 OU 中可用。 |
错误码 ¶
你可以通过下表查询本 API 可能返回的特定错误码。有关通知管理服务 API 的通用错误码,参见 通用错误码。
代码 |
错误信息 |
描述 |
---|---|---|
32404 |
signature is not exist |
短信签名不存在。 |
32404 |
sms template is not exist |
短信模板不存在。 |
32400 |
variable not in template |
模板内变量错误。 |
32400 |
tunnel code is not existed |
短信渠道参数错误。 |
示例¶
请求示例¶
url: https://{apigw-address}/notification-center-service/v2.0/template/sms?orgId=yourOrgId
method: POST
requestBody:
{
"variables": {
"aaa": "xxx"
},
"signatureCode": "xx",
"phones": [
{
"area": "87",
"number": "23"
}
],
"templateCode": "awyfl",
"priority": "P2",
"tunnelCode": ""
}
返回示例¶
{"code":0, "msg":"OK", "submsg":"", "requestId": null, "data":{"eventId": "evt16062008765401}}
异常示例¶
{"code":32403, "msg":"the quota is run out, test quota is limited", "submsg":"Permission denied: tunnel.quota.run.out", "data": null, "requestId": null}