Send Regular SMS


通过指定短信运营商发送特定短信模板,并替换短信模板中的自定义参数,部分短信运营商还支持定义正文前的短信签名。请求发送成功后,短信发送请求将被放入消息队列,API 将返回一个 eventId,后续可通过 eventId 查看实际发送结果。

请求格式


POST https://{apigw-address}/notification-center-service/v2.0/simple/sms

请求参数 (URI)


名称

位置(Path/Query)

必需/可选

数据类型

描述

orgId

Query

必需

String

组织 ID。如何获取 orgId 信息 >>

请求参数 (Body)


名称

必需/可选

数据类型

描述

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。通常情况下无需特殊配置。

content

必需

String

短信内容。

响应参数


名称

必需/可选

数据类型

描述

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/simple/sms?orgId=yourOrgId
method: POST
requestBody:
{
  "signatureCode": "xx",
  "phones": [
    {
      "area": "87",
      "number": "23"
    }
  ],
  "priority": "P2",
  "tunnelCode": "",
  "content": "sms content"
}

返回示例


{"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}