开发接入注意事项
♦验证码类单条高并发短信推荐使用网关系统的CMPP或SMGW(HTTP)接口协议。
♦网关接入分为CMPP或HTTP两种,客户确定接入类型由客服开户。
♦接入流程:确定需求 - 客服开户配置 - 客服协助用户调试 - 签订合同协议 - 预存费用 - 正式使用
♦防止用户接口被注册机刷短信,请添加图形验证进行防护。如案例:https://www.okbuy.com/members/register
♦《验证码/通知》用户调试过程中,请使用正式内容进行调试并加签名,如:【云曼信息】您好,您的注册验证码是:5599
调试模板参考:【云曼信息】你好,您的验证码:5599
短信管理后台:https://sms.yunsms.cn(发送记录、状态报告、数据统计、平台发送、在线充值...)
接口编码方式采用统一的UTF-8,请求方式采用HTTP REST,支持GET/POST方式,可下载接口文档选择使用。
一、短信发送
1.1、提交地址
UTF-8提交地址:https://47.118.52.69:7862/sms
1.2、参数说明
参数字段 | 含义 | 参数说明 |
action | 请求动作 | 设置为固定的:send |
account | 发送用户帐号 | 发送用户帐号,由客服提供 |
password | 接口密钥 | 非加密:password 加密:MD5(password+extno+content+mobile)接口密钥使用 |
mobile | 接收号码 | 短信接收手机号码.多个号码之间用半角逗号隔开,最多500个号码 |
content | 短信内容 | 短信的内容,内容需要UTF-8 URLEncode编码 |
extno | 接入码 | 接入号,即SP服务号(106XXXXXX),由客服提供 |
rt | 响应数据类型 | json 如无则返回xml |
例如:
https://47.118.52.69:7862/sms?action=send&account=账号&password=密码&mobile=13800138000,13800138001&content=内容&extno=接入码&rt=json
1.3、响应数据
{
"status": "0", ---------- 请求结果,具体参见STATUS代码返回值
"balance": -153278040, ---------- 当前账户余额,单位:厘
"list": [ ---------- 短信提交响应列表
{
"mid": "4C2CA88382720003", ---------- 消息ID(用于状态报告匹配)
"mobile": "13800138000", ---------- 手机号码
"result": 0 ---------- 短信提交错误代码,参见RESULT代码返回值
},
{
"mid": "4C2CA88382720004", ---------- 消息ID(用于状态报告匹配)
"mobile": "138001380001", ---------- 手机号码
"result": 0 ---------- 短信提交错误代码,参见RESULT代码返回值
}
]
}
1.4、字段说明
字段 | 说明 |
status | 请求结果,具体参见STATUS代码返回值 |
balance | 当前账户余额,单位:厘 |
list | 短信提交响应列表 |
mid | 消息ID(用于状态报告匹配) |
mobile | 短信的内容,内容需要UTF-8 URLEncode编码 |
result | 短信提交错误代码,参见RESULT代码返回值 |
二、点对点发送(用于客户端向网关提交点对点短信,即一个号码一个内容的短信)
2.1、提交地址
UTF-8提交地址:https://47.118.52.69:7862/sms
2.2、参数说明
参数字段 | 含义 | 参数说明 |
action | 请求动作 | 设置为固定的:p2p |
account | 发送用户帐号 | 发送用户帐号,由客服提供 |
password | 接口密钥 | 非加密:password 加密:MD5(password+extno+content+mobile)接口密钥使用 (加密时mobileContentList换行符去掉) |
mobileContentList | 号码短信内容列表 | 号码内容格式为:Mobile#Content 多个号码之间用换行分割如: 13800000001#下发内容1 13800000002#下发内容2 13800000003#下发内容3 13800000004#下发内容4 |
extno | 接入码 | 接入号,即SP服务号(106XXXXXX),由客服提供 |
rt | 响应数据类型 | json |
例如:
https://192.168.1.4:7822/sms?action=p2p&rt=json&account=922011&password=123456&mobileContentList=13800000001%23%e4%b8%8b%e5%8f%91%e5%86%85%e5%ae%b91%0d13800000002%23%e4%b8%8b%e5%8f%91%e5%86%85%e5%ae%b92%0d13800000003%23%e4%b8%8b%e5%8f%91%e5%86%85%e5%ae%b93%0d13800000004%23%e4%b8%8b%e5%8f%91%e5%86%85%e5%ae%b94%0d&extno=10690231221
2.3、响应数据
{
"status": "0", ---------- 请求结果,具体参见STATUS代码返回值
"balance": -153278280, ---------- 当前账户余额,单位:厘
"list": [ ---------- 短信提交响应列表
{
"mid": "4C372C4382720007", ---------- 消息ID(用于状态报告匹配)
"mobile": "13800000001", ---------- 手机号码
"result": 0 ---------- 短信提交错误代码,参见RESULT代码返回值
},
{
"mid": "4C372C4382720008", ---------- 消息ID(用于状态报告匹配)
"mobile": "13800000002", ---------- 手机号码
"result": 0 ---------- 短信提交错误代码,参见RESULT代码返回值
},
{
"mid": "4C372C4382720009", ---------- 消息ID(用于状态报告匹配)
"mobile": "13800000003", ---------- 手机号码
"result": 0 ---------- 短信提交错误代码,参见RESULT代码返回值
},
{
"mid": "4C372C438272000A", ---------- 消息ID(用于状态报告匹配)
"mobile": "13800000004", ---------- 手机号码
"result": 0 ---------- 短信提交错误代码,参见RESULT代码返回值
}
]
}
2.4、字段说明
字段 | 说明 |
status | 请求结果,具体参见STATUS代码返回值 |
balance | 当前账户余额,单位:厘 |
list | 短信提交响应列表 |
mid | 消息ID(用于状态报告匹配) |
mobile | 短信的内容,内容需要UTF-8 URLEncode编码 |
result | 短信提交错误代码,参见RESULT代码返回值 |
三、余额查询接口
3.1、提交地址
UTF-8提交地址:https://47.118.52.69:7862/sms
3.2、参数说明
参数字段 | 含义 | 参数说明 |
action | 请求动作 | 设置为固定的:send |
account | 发送用户帐号 | 发送用户帐号,由客服提供 |
password | 接口密钥 | 非加密:password 加密:MD5(password+extno+content+mobile)接口密钥使用 |
rt | 响应数据类型 | json |
例如:
https://47.118.52.69:7862/sms?action=send&account=账号&password=密码&mobile=13800138000,13800138001&content=内容&extno=接入码&rt=json
3.3、响应数据
{"status":0,"balance":-153278040,"chargeType":"POSTCHARGE"}
3.4、字段说明
字段 | 说明 |
status | 请求结果,具体参见STATUS代码返回值 |
balance | 当前账户余额,单位:厘 |
chargeType | POSTCHARGE=后付费 PRECHARGE=预付费 |
四.客户端主动获取状态报告接口
4.1、提交地址
UTF-8提交地址:https://47.118.52.69:7862/sms
4.2、参数说明
参数字段 | 含义 | 参数说明 |
action | 请求动作 | 设置为固定的:send |
account | 发送用户帐号 | 发送用户帐号,由客服提供 |
password | 接口密钥 | 非加密:password 加密:MD5(password+extno+content+mobile)接口密钥使用 |
size | 获取报告的数量 | 默认1000,最小10,最大10000 |
rt | 响应数据类型 | json |
例如:
https://47.118.52.69:7862/sms?action=report&action=report&account=账号&password=密码&size=10&rt=json
4.3、响应数据
{
"status": "0",
"balance": -153278040,
"list": [
{
"flag": 1,
"mid": "4C36654382720005",
"spid": "922011",
"accessCode": "106901234",
"mobile": "13800138000",
"stat": "MA:0029",
"time": "2017-04-12 01:38:21"
},
{
"flag": 1,
"mid": "4C36654382720006",
"spid": "922011",
"accessCode": "106901234",
"mobile": "138001380001",
"stat": "MA:0029",
"time": "2017-04-12 01:38:21"
}
]
}
4.4、字段说明
字段 | 说明 |
status | 请求结果,具体参见STATUS代码返回值 |
balance | 当前账户余额,单位:厘 |
list | 短信提交响应列表 |
mid | 消息ID(用于状态报告匹配) |
mobile | 短信的内容,内容需要UTF-8 URLEncode编码 |
result | 短信提交错误代码,参见RESULT代码返回值 |
五、客户端主动获取手机上行接口
5.1、提交地址
UTF-8提交地址:https://47.118.52.69:7862/sms
5.2、参数说明
参数字段 | 含义 | 参数说明 |
action | 请求动作 | 设置为固定的:mo |
account | 发送用户帐号 | 发送用户帐号,由客服提供 |
password | 接口密钥 | 非加密:password 加密:MD5(password) |
szie | 获取上行数量 | 默认1000,最小10,最大1000 |
例如:
https://47.118.52.69:7862/sms?action=send&account=账号&password=密码&mobile=13800138000,13800138001&content=内容&extno=接入码&rt=json
5.3、响应数据
{
"status": "0",
"balance": -153278040,
"list": [
{
"flag": 0,
"mid": "4C36654382720005",
"spid": "922011",
"accessCode": "10690",
"mobile": "13800138000",
"content": "上行内容1",
"time": "2017-04-12 01:38:21"
},
{
"flag": 0,
"mid": "4C36654382720006",
"spid": "922011",
"accessCode": "10690",
"mobile": "138001380001",
"content": "上行内容2",
"time": "2017-04-12 01:38:21"
}
]
}
5.4、字段说明
字段 | 说明 |
status | 请求结果,具体参见STATUS代码返回值 |
balance | 当前账户余额,单位:厘 |
list | 短信提交响应列表 |
flag | 0=手机用户上行 |
mid | 上行消息ID(可忽略) |
spid | 归属账号(可忽略) |
mobile | 短信的内容,内容需要UTF-8 URLEncode编码 |
accessCode | 接收号码,即SP服务号(106XXXXXX) |
content | 手机上行的具体内容 |
time | 手机上行的具体时间 |
六、客户端主动获取手机上行接口
6.1、提交地址
UTF-8提交地址:https://47.118.52.69:7862/sms
6.2、参数说明
参数字段 | 含义 | 参数说明 |
action | 请求动作 | 设置为固定的:mo |
account | 发送用户帐号 | 发送用户帐号,由客服提供 |
password | 接口密钥 | 非加密:password 加密:MD5(password) |
szie | 获取上行数量 | 默认1000,最小10,最大1000 |
例如:
https://47.118.52.69:7862/sms?action=send&account=账号&password=密码&mobile=13800138000,13800138001&content=内容&extno=接入码&rt=json
6.3、响应数据
{
"status": "0",
"balance": -153278040,
"list": [
{
"flag": 0,
"mid": "4C36654382720005",
"spid": "922011",
"accessCode": "10690",
"mobile": "13800138000",
"content": "上行内容1",
"time": "2017-04-12 01:38:21"
},
{
"flag": 0,
"mid": "4C36654382720006",
"spid": "922011",
"accessCode": "10690",
"mobile": "138001380001",
"content": "上行内容2",
"time": "2017-04-12 01:38:21"
}
]
}
6.4、字段说明
字段 | 说明 |
status | 请求结果,具体参见STATUS代码返回值 |
balance | 当前账户余额,单位:厘 |
list | 短信提交响应列表 |
flag | 0=手机用户上行 |
mid | 上行消息ID(可忽略) |
spid | 归属账号(可忽略) |
mobile | 短信的内容,内容需要UTF-8 URLEncode编码 |
accessCode | 接收号码,即SP服务号(106XXXXXX) |
content | 手机上行的具体内容 |
time | 手机上行的具体时间 |
七.客户端被动接收上行和状态报告
7.1、提交地址
由客户端向网关报备推送地址,请求方式 由网关采用POST方式,推送到客户端
7.2、参数说明
参数字段 | 含义 | 参数说明 |
action | 请求动作 | 设置为固定的:mo |
account | 发送用户帐号 | 发送用户帐号,由客服提供 |
password | 接口密钥 | 非加密:password 加密:MD5(password) |
szie | 获取上行数量 | 默认1000,最小10,最大1000 |
例如:
https://47.118.52.69:7862/sms?action=send&account=账号&password=密码&mobile=13800138000,13800138001&content=内容&extno=接入码&rt=json
7.3、响应数据
[
{
"flag": 0,
"mid": "4C36654382720005",
"spid": "922011",
"accessCode": "10690",
"mobile": "13800138000",
"content": "上行内容",
"time": "2017-04-12 01:38:21"
},
{
"flag": 1,
"mid": "4C36654382720006",
"spid": "922011",
"accessCode": "10690",
"mobile": "138001380001",
"stat": "DELIVRD",
"time": "2017-04-12 01:38:21"
}
]
7.4、字段说明
字段 | 说明 |
flag | 0=手机用户上行 1=状态报告 |
mid | flag=1时,消息ID与提交时响应的消息ID匹配;flag=0时,表示该条上行的消息ID |
spid | 归属账号(可忽略) |
mobile | 手机号码 |
accessCode | 接收号码,即SP服务号(106XXXXXX) |
content | 手机上行的具体内容;flag=1时,该字段无效 |
stat | 状态报告代码,具体参见STAT状态代码表;flag=0时,该字段无效 |
time | 手机上行的具体时间 |
八、STATUS代码返回值
错误代码 | 含义 |
0 | 鉴权成功 |
1 | 消息包格式错 |
2 | IP鉴权错误 |
3 | 账号密码不正确 |
4 | 版本号错误 |
5 | 其它错误 |
6 | 接入点错误(如账户本身开的是CMPP接入) |
7 | 账号状态异常(账号已停用) |
21 | 连接过多 |
100 | 系统内部错误,一般情况下例如:提交手机号码为 电信,但是该账号没用可用的电信接出点 |
102 | 单次提交的号码数过多(建议200以内) |
八、RESULT代码返回值
错误代码 | 含义 |
0 | 提交成功 |
10 | 原发号码错误,即extno错误 |
15 | 余额不足 |
17 | 账号签名无效 |
九、STAT状态代码表
错误代码 | 含义 |
DELIVRD | 短信投递成功 |
EXPIRED | Message validity period has expired |
DELETED | Message has been deleted. |
REJECTED | Message is in a rejected state |
MA:0001 | 全局黑名单号码 |
MA:0002 | 内容非法 |
MA:0003 | 无法找到下级路由 |
MA:0004 | 未知 |
MA:0005 | 目的号码格式错误 |
MA:0006 | 系统拒绝 |
MA:0009 | 未定义错误 |
MA:0011 | 未知系统内部错误 |
MA:0012 | 防钓鱼 |
MA:0013 | 非法错误的包时序 |
MA:0014 | 非法的OP_ISDN号段 |
MA:0021 | 号码格式错误 |
MA:0022 | 号码超过半小时下发次数限制 |
MA:0023 | 客户黑名单号码 |
MA:0024 | 内容未报备 |
MA:0025 | 不支持该短信 |
MA:0026 | 分条发送,组包超时 |
MA:0027 | 通道黑名单 |
MA:0028 | 全局黑名单号段 |
MA:0029 | 通道黑名单号段 |
MA:0030 | 直接产生拒绝报告 |
MO:200 | 不支持分条短信 |
MO:0254 | 转发提交超时 |
MO:0255 | 转发提交过程中,连接断开 |
其他 | 请参照《网关返回值表》 |
电话:400-668-7332
传真:0551-6550-2013
邮箱:service@yunsms.cn
地址:安徽省合肥市蜀山区乐彩中心8#2524