短信发送接口

1 模板短信接口请求方式

1.1 业务流程说明

1.2 Base URL

模板短信API引用的地址有Base URL。

生产环境的Base URL:https://app.cloopen.com:8883

注意:为了确保数据隐私,云通讯平台的REST API是通过HTTPS方式请求。

1.3 统一请求包头

URL格式:/2013-12-26/Accounts/{accountSid}/SMS/TemplateSMS?sig={SigParameter}

在URL格式中 {}内的内容表示为参数,非{}的内容固定不变。

属性说明:

accountSid
String必选
开发者主账户ACCOUNT SID(登陆官网在管理控制台获取)
SigParameter
String必选

REST API 验证参数,生成规则如下

1.使用MD5加密(账户Id + 账户授权令牌 + 时间戳)。其中账户Id和账户授权令牌根据url的验证级别对应主账户。

时间戳是当前系统时间,格式"yyyyMMddHHmmss"。时间戳有效时间为24小时,如:20140416142030

2.SigParameter参数需要大写,如不能写成sig=abcdefg而应该写成sig=ABCDEFG

1.4 HTTP标准包头字段

Accept:application/xml;

Content-Type:application/xml;charset=utf-8;

Content-Length:256; 

Authorization:

属性说明:

Accept
String必选客户端响应接收数据格式:application/xml、application/json
Content-Type
String必选类型:application/xml;charset=utf-8、application/json;charset=utf-8
Content-Length
String必选Content-Length

Authorization

String

必选

验证信息,生成规则详见下方说明

1.使用Base64编码(账户Id + 冒号 + 时间戳)其中账户Id根据url的验证级别对应主账户

2.冒号为英文冒号

3.时间戳是当前系统时间,格式"yyyyMMddHHmmss",需与SigParameter中时间戳相同。

1.5 请求包体

toString必选短信接收端手机号码集合,用英文逗号分开,每批发送的手机号数量不得超过200个
appId
String必选应用Id
templateIdString必选模板Id
datasString可选内容数据外层节点,模板如果没有变量,此参数可不传
data
String
可选
内容数据,用于替换模板中{序号}

1.5.1 XML请求示例

  •  POST /2013-12-26/Accounts/abcdefghijklmnopqrstuvwxyz012345/SMS/TemplateSMS?sig=
  •  C1F20E7A9733CE94F680C70A1DBABCDE HTTP/1.1
  •  Host:192.168.0.1:8883
  •  content-length: 139
  •  Accept:application/xml; 
  •  Content-Type:application/xml;charset=utf-8; 
  •  Authorization:ZmY4MDgwODEzYzM3ZGE1MzAxM2M4MDRmODA3MjAwN2M6MjAxMzAyMDExNTABCDE=<?xml version='1.0' encoding='utf-8'?> <TemplateSMS>
  •   <to>13912345678</to>
  •   <appId>ff8080813c37da53013c3054f567007e</appId> 
  •   <templateId>1</templateId>
  •   <datas>
  •     <data>替换内容</data>
  •     <data>替换内容</data>
  •   </datas></TemplateSMS>            
  •             

1.5.2 JSON请求示例

  •  POST /2013-12-26/Accounts/abcdefghijklmnopqrstuvwxyz012345/SMS/TemplateSMS?sig=
  •  C1F20E7A9733CE94F680C70A1DBABCDE HTTP/1.1

  •  Host:192.168.0.1:8883
  •  content-length: 139
  •  Accept:application/json; 
  •  Content-Type:application/json;charset=utf-8; 
  •  Authorization:ZmY4MDgwODEzYzM3ZGE1MzAxM2M4MDRmODA3MjAwN2M6MjAxMzAyMDExNTABCDE=
  •  {"to":"13911281234,15010151234,13811431234","appId":
  •  "ff8080813fc70a7b013fc72312324213","templateId":"1","datas":["替换内容","替换内容"]}           
  •             

1.6 响应

此步响应只表明客户的短信请求发送成功,不表明短信通道已经发送短信成功。

statusCode

String

必选

请求状态码,取值000000(成功)

smsMessageSid
String必选短信唯一标识符
dateCreated
String必选短信的创建时间

1.6.1 XML响应示例

  •   HTTP/1.1 200 OK 
  •   Content-Length: 641 
  •   <?xml version="1.0" encoding="UTF-8" standalone="yes"?&;
  •   <Response>
  •    <statusCode>000000</statusCode>
  •     <TemplateSMS>
  •       <smsMessageSid>ff8080813c373cab013c94b0f0512345</smsMessageSid>
  •       <dateCreated>20130201153809</dateCreated>
  •     </TemplateSMS>
  •   </Response>          
  •             

1.6.2 JSON响应示例

  •  HTTP/1.1 200 OK 
  •  Content-Length: 641
  •  {"statusCode":"000000","templateSMS":{"dateCreated":"20130201155306",
  •  "smsMessageSid":" ff8080813c373cab013c94b0f0512345"}}        
  •             

1.7 判断发送失败,重发

对响应解析后,statusCode为"000000"表示请求发送成功。statusCode不是"000000",表示请求发送失败,客户服务端可以根据自己的逻辑进行重发或者其他处理。