Send SMS Template¶
本接口可通过指定短信运营商发送特定模板短信,模板短信中存在自定义参数可供调用者进行替换,部分短信运营商可在正文前增加短信签名,请求发送成功时,短信发送请求将被放入消息队列,用户可收到一个 eventId,后续可通过 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 |
可选,若不指定 tunnelIdentifier 则为必需。 |
String |
短信通道代码,所有可用的通道代码均列在 常量 > SMS Tunnel Code 中。tunnelCode 和 tunnelIdentifier 至少指定其中一个,若二者同时指定且发生冲突,将以 tunnelIdentifier 为准。 |
tunnelIdentifier |
可选,若不指定 tunnelCode 则为必需。 |
String |
短信通道标识符,用于指定同一运营商的不同短信通道(仅限于指定 OU 和 system OU 中定义的通道)。若不指定,默认为 null。tunnelCode 和 tunnelIdentifier 至少指定其中一个,若二者同时指定且发生冲突,将以 tunnelIdentifier 为准。 |
signatureCode |
可选 |
String |
发送短信时需要在短信前增加短信签名的显示时使用,需要到EnOS管理控制台中选择 消息推送管理 > 短信 > 签名设置 页面查看,不同ou及供应商存在不同配置,只有在该ou能申请签名,并得到管理员审批后才能使用 |
priority |
可选 |
Enum |
消息发送优先度,默认P2,不需特殊配置 |
响应参数¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
eventId |
必需 |
String |
发送邮件或短信请求时返回供用户查询结果的eventId |
常量 ¶
名称 |
值 |
描述 |
---|---|---|
SMS Tunnel code |
|
短信通道代码。系统通道代码在所有 OU 中都可用。OU 通道代码是在该 OU 中已设置的通道的运营商代码。 |
Email sender code |
NOTICE_GW |
邮件发送商代码,系统默认,在所有 OU 中可用。 |
错误码 ¶
代码 |
错误信息 |
描述 |
---|---|---|
32404 |
signature is not exist |
短信签名不存在 |
32404 |
sms template is not exist |
短信模板不存在 |
32400 |
variable not in template |
模板内自定义变量错误 |
32400 |
tunnel code is not existed |
短信渠道参数错误 |
32435 |
operation not allowed, the signature is not approved |
短信签名未通过审批 |
示例¶
请求示例¶
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}