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

可选,若不指定 tunnelIdentifier 则为必需。

String

短信通道代码,所有可用的通道代码均列在 常量 > SMS Tunnel Code 中。至少指定 tunnelCodetunnelIdentifier 的其中一个,若二者同时指定且发生冲突时,将以 tunnelIdentifier 为准。

tunnelIdentifier

可选,若不指定 tunnelCode 则为必需。

String

短信通道标识符,用于指定同一运营商的不同短信通道(仅支持当前 OU 和 system OU 中定义的通道)。若不指定,默认为 null。至少指定 tunnelCodetunnelIdentifier 的其中一个,若二者同时指定且发生冲突时,将以 tunnelIdentifier 为准。

signatureCode

可选

String

如需在短信前增加短信签名,可指定一个签名标识符。可前往 EnOS 应用门户 > 开发者控制台 中选择 通知管理 > 消息管理 > 基础设置,在 短信 标签页中查看当前 OU 可用的短信签名。

priority

可选

Enum

消息发送优先度,值支持 P0P1P2,默认 P2。通常情况下无需特殊配置。

响应参数

名称

必需/可选

数据类型

描述

eventId

必需

String

消息通知 event ID,你可以通过 event ID 查询本次消息推送的实际结果。

常量


名称

描述

SMS Tunnel code

  • 系统:NOTICE_GW

  • OU:HDB_SCS, TWILIO, NEXMO, GENERIC

短信通道代码。系统通道代码在所有 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}