用户必读¶
使用步骤
华唐广告云通信 使用 步骤:
- 1、 注册账号并登录进入后台管理
- 2、 在用户管理界面获取appkey、appsecret。
- 3、 在后台管理中认证账号
- 4、 短信发送需先提交签名审核及短信模板审核。经过审核的签名及内容才可以发送。
- 5、 语音发送如需提交固定主叫号码需先提交审核通过才可使用。
- 6、 本地环境测试成功后移植到正式环境集成。
使用说明
使用华唐广告云通信平台的客户需遵守国家法律、法规,平台采取先验证后发送的使用规则,内容发送前需提前报备模板才可以发送。平台禁止发送以下信息:
- √ 危害国家安全,泄露国家机密,颠覆国家政权,破坏国家统一的;
- √ 损害国家荣誉和利益的;
- √ 煽动民族仇恨、民族歧视,破坏民族团结的;
- √ 破坏国家宗教政策,宣扬邪教和封建迷信的;
- √ 散布谣言,扰乱社会秩序,破坏社会稳定的;
- √ 散布淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的;
- √ 侮辱或者诽谤他人,侵害他人合法权益的;
- √ 尝试欺骗、骚扰他人的;
- √ 我国现行法律、行政法规、政策禁止的内容。
一经发现以上信息提交,我公司有权关闭账号,造成的损失我公司有权追究发送人相关法律责任,情节严重的将移交相关机构处理。
云通信接口说明
1. 接口文档概述
接口采集HTTP协议完成数据交互,接口仅支持接收POST方法提交参数,请求和应答参数均采用JSON格式,字符编码统一采用UTF-8。
2. 接口说明
2.1. 变量型短信发送
请求地址 |
http://ip:port/smssend |
|
参数示例 |
{"appkey":"appkey","appsecret":"appsecret","templateid":"templateid", "phone":"13812345678","extnum":"12345","templateparams":["参数1","参数2"]} |
|
参数说明 |
appkey |
app登录名 |
appsecret |
app登录密码 |
|
phone |
接收手机号码,多个号码之间用半角英文逗号分隔,支持不超过5000个号码的群发 |
|
extnum |
扩展码 |
|
templateid |
已报备的模板id(模板中用“{?}”表示参数) |
|
templateparams |
短信参数(字符串数组,元素个数与对应模板中的参数个数相同) |
|
应答示例 |
{"code":0,"msg":"send success","msgid":"msgid","errPhone":"110,112,123456","blackPhone":"13812345678,13812345679"} |
|
应答参数说明 |
code |
请求结果码 |
msg |
请求结果信息 |
|
msgid |
发送信息的流水号 |
|
errPhone |
错误的电话号码,如不号段内、号码长度错误等,多个号码间用英文半角逗号分隔 |
|
blackPhone |
黑名单电话,多个号码间用英文半角逗号分隔 |
2.2. 全文型短信发送
请求地址 |
http://ip:port/sendFullTextSms |
|
参数示例 |
{"appkey":"appkey","appsecret":"appsecret","templateid":"templateid", "phone":"13812345678","extnum":"12345","content":"测试短信【签名】"} |
|
参数说明 |
appkey |
app登录名 |
appsecret |
app登录密码 |
|
phone |
接收手机号码,多个号码之间用英文半角逗号分隔,支持不超过5000个号码的群发 |
|
extnum |
扩展码 |
|
templateid |
已报备的模板id(模板中用“{?}”表示动态内容) |
|
content |
短信内容:支持不超过300个的短信(包含符号) |
|
应答示例 |
{"code":0,"msg":"send success","msgid":"msgid","errPhone":"110,112,123456","blackPhone":"13812345678,13812345679"} |
|
应答参数说明 |
code |
请求结果码 |
msg |
请求结果信息 |
|
msgid |
发送信息的流水号 |
|
errPhone |
错误的电话号码,如不在号段内、号码长度错误等,多个号码间用英文半角逗号分隔 |
|
blackPhone |
黑名单号码,多个号码间用英文半角逗号分隔 |
2.3. 查询回复短信
地址 |
http://ip:port/smsreceive |
|
参数示例 |
{"appkey":"appkey1","appsecret":"appsecret1"} |
|
参数说明 |
appkey |
app登录名 |
appsecret |
app登录密码 |
|
应答示例 |
{"total":3,"list":[{"id":"123456789","phone":"13800000001","content":"abc","extnum":"123456","time":"2016-07-28 15:30:58"},{"id":"123456789","phone":"13800000002","content":"a","extnum":"123456","time":"2016-07-28 15:30:58"},{"id":"123456789","phone":"13800000003","content":"你说什么","extnum":"123456","time":"2016-07-28 15:30:58"}],"code":0,"msg":"success"} |
|
参数说明 |
code |
结果 |
msg |
结果说明 |
|
total |
回复总条数 |
|
list |
接收到的信息,默认大小1000条 |
|
id |
回复编号 |
|
phone |
电话号码 |
|
content |
回复内容 |
|
extnum |
回复短信扩展码 |
|
time |
回复时间 |
2.4. 查询状态报告
地址 |
http://ip:port/smsstatus |
|
参数示例 |
{"appkey":"appkey1","appsecret":"appsecret1"} |
|
参数说明 |
appkey |
app登录名 |
appsecret |
app登录密码 |
|
应答示例 |
{"total":3,"list":[{"id":"1234567890","msgid":"00000001","phone":"13800000001", "time":"2016-07-28 15:30:58","result":0,”content”:”DELIVERD”,”frametotal”:2,”frameno”:1}, {"id":"1234567890","msgid":"00000002","phone":"13800000002", "time":"2016-07-28 15:30:58","result":0,”content”:”DELIVERD”,”frametotal”:2,”frameno”:1}, {""id":"1234567890",msgid":"00000003","phone":"13000000003","time":"2016-07-28 15:30:58","result":1,"content":"UNDELIVERD",”frametotal”:2,”frameno”:1}],"code":0,"msg":"success"} |
|
参数说明 |
code |
结果 |
msg |
结果说明 |
|
total |
状态报告总条数 |
|
list |
报告明细(数组),注意msgid对应发送时应答的msgid |
|
list列表参数说明 |
||
id |
状态报告编号 |
|
msgid |
短信提交编号 |
|
phone |
电话号码 |
|
time |
报告时间 |
|
result |
报告结果:0-成功,非0-失败 |
|
content |
报告内容 |
|
frametotal |
长短信切分条数 |
|
frameno |
长短信切分序号 |
2.5. 查询余额
地址 |
http://ip:port/smsbalance |
|
参数示例 |
{"appkey":"appkey1","appsecret":"appsecret1"} |
|
参数说明 |
appkey |
app登录名 |
appsecret |
app登录密码 |
|
|
|
|
应答示例 |
{"smsremaining":10000,"msg":"success","code":0} |
|
参数说明 |
code |
结果码 |
msg |
结果说明 |
|
smsremaining |
短信余额 |
|
|
|
2.6. 状态报告推送
地址 |
由客户方提供 |
|
参数示例 |
{"total":3,"list":[{"id":"1234567890","msgid":"00000001","phone":"13800000001", "time":"2016-07-28 15:30:58","result":0,”content”:”DELIVERD”,”frametotal”:2,”frameno”:1}, {"id":"1234567890","msgid":"00000002","phone":"13800000002", "time":"2016-07-28 15:30:58","result":0,”content”:”DELIVERD”,”frametotal”:2,”frameno”:1}, {""id":"1234567890",msgid":"00000003","phone":"13000000003","time":"2016-07-28 15:30:58","result":1,"content":"UNDELIVERD",”frametotal”:2,”frameno”:1}]} |
|
参数说明 |
total |
状态报告总条数 |
list |
报告明细(数组),注意msgid对应发送时应答的msgid |
|
list列表参数说明 |
||
id |
状态报告编号 |
|
msgid |
短信提交编号 |
|
phone |
电话号码 |
|
time |
报告时间 |
|
result |
报告结果:0-成功,非0-失败 |
|
content |
报告内容 |
|
frametotal |
长短信切分条数 |
|
frameno |
长短信切分序号 |
|
应答示例 |
{"code":"0","msg":"success"} |
|
应答说明 |
code |
结果码:0-成功,非0-失败 |
msg |
结果说明 |
2.7. 短信回复推送
地址 |
由客户方提供 |
|
参数示例 |
{"total":3,"list":[{"id":"123456789","phone":"13800000001","content":"abc","extnum":"123456","time":"2016-07-28 15:30:58"},{"id":"123456789","phone":"13800000002","content":"a","extnum":"123456","time":"2016-07-28 15:30:58"},{"id":"123456789","phone":"13800000003","content":"你说什么","extnum":"123456","time":"2016-07-28 15:30:58"}]} |
|
参数说明 |
total |
回复总条数 |
list |
接收到的信息(数组),默认大小1000条 |
|
list列表参数说明 |
||
id |
回复编号 |
|
phone |
电话号码 |
|
content |
回复内容 |
|
extnum |
回复短信扩展码 |
|
time |
回复时间 |
|
应答示例 |
{"code":"0","msg":"success"} |
|
应答说明 |
code |
结果码:0-成功,非0-失败 |
msg |
结果说明 |
3. 应答结果说明
结果码(code) |
结果说明(msg) |
0 |
成功 |
101 |
应用不存在 |
102 |
应用登录名或密码错误 |
103 |
登录失败 |
104 |
IP绑定错误 |
105 |
账号已禁用 |
106 |
客户已停用 |
201 |
模板不存在 |
202 |
模板不可用 |
206 |
没有找到参数 |
207 |
参数个数不够(参看对应的短信模板) |
208 |
信息超长 |
211 |
内容含有关键字 |
216 |
模板通道验证失败 |
299 |
不合法内容 |
303 |
json格式错误 |
304 |
json解析错误 |
305 |
没有接收到post数据 |
306 |
Appkey为空 |
307 |
Appsecret为空 |
308 |
目的号码为空 |
311 |
扩展码超长(最长8) |
316 |
定时时间格式错误 |
401 |
目的号码不存在 |
402 |
所有目的号码都不合法 |
409 |
号段匹配出错 |
501 |
余额不足 |
999 |
未处理系统错误 |