短信接入说明

1.对同一个接收方手机号码,一分钟最多接受3条相同的短信;

2.对同一个接收方手机号码,一天最多接受5条相同的短信;

3.验证码有效时间默认为10分钟,如需修改可在短信配置中修改,单位秒,最长不超过120分钟;

4.对一个手机号码的验证调用,连续校验错误10次以后,该验证码立即失效,校验错误接口返回中需告知开发者当前错误次数;

5.对未发送短信验证码的手机号码验证调用,一天累计超过1万次会视为恶意攻击,将暂停该App key的短信验证码服务,一旦发生此情况请联系客户顾问;

6.短信服务属于收费功能,如有疑问请联系客户顾问;

7.短信计费方式为实时计费,自动跨档,跨档后当月所有发送量按新阶梯价重新计算,如有疑问请联系客户顾问;

8.验证码支持中英文模板,模板的定制可联系客户顾问;

短信对接流程图点击查看具体流程

API接口说明

向指定号码发送模板短信,部分变量可在模板内设置

HTTP请求地址

http://api.95yunma.com/router/sms/send.inf

http://api.95yunma.cn/router/sms/send.inf

公共参数

名称 参数值 类型 是否必选 示例 描述
接口key _appKey String 用户在系统中添加的appkey
接口密钥 _secretKey String 用户在系统中添加appkey时生成的接口密钥!当没用到SDK的时候,接口密钥为接口密钥连接上时间戳再进行md5加密!
时间戳 _mstr String

"系统生成的时间戳

Java:System.currentTimeMillis();

php:time();"

请求参数

名称 参数值 类型 是否必选 示例2 描述
透传参数 _extend String noacx001 公共透传参数,在接口调用是会透传回该参数;
短信签名 _smsSign String 九五云码

传入的短信签名必须是系统短信签名中的已审核通过的签名。

直接传入签名名称,系统会自动加上【】。

短信效果示例:【九五云码】验证码0988,您正在进行九五云码身份验证,一定不要告诉别人哦!

当没用到SDK的时候,请把短信签名参数UrlEncode一下!

短信模板变量 _smsParam String {"code":"0988","product":"九五云码"}

规则为:{"key":"value"}格式的字符串,多个用逗号隔开。

示例:【九五云码】验证码${code},您正在进行${product}身份验证,一定不要告诉别人哦!

传入格式为{"code":"0988","product":"九五云码"}

当没用到SDK的时候,请把短信模板变量参数UrlEncode一下!

短信接收号码 _recNo String

传入号码为11位手机号码,不能加0或+86。

支持单个或多个手机号码,多个号码以英文逗号分隔,一次调用最多传入200个号码。示例:13600000000,18610000000,13400000000。

定时发送时间 _sendtimer String yyyyMMddHHmm 如果为空,表示立即发送。
短信模板ID _smsTemplateId String sms_123456 模板ID必须是系统短信模板中的已审核通过的短信模板。

响应参数

名称 参数值 类型 示例 描述
返回结果 result String 0 0代表成功,其他请看错误信息列表
返回描述 msg String 操作成功 返回描述信息,请使用URLDecode解码
透传参数 extend String noacx001 公共透传参数,在接口调用是会透传回该参数;
任务ID taskId String 接口一批次提交的唯一ID 例:ojg6w8gg001181lg1z6l025o7bobo5
示例: {"taskId":"ojg6w8gg001181lg1z6l025o7bobo5","result":0,"extend":"","msg":"操作成功"}

请求示例

  • JAVA
  • PHP
  • String appkey = "";
  • String secretkey = "";
  • String mstr = String.valueOf(System.currentTimeMillis());
  • YunmaClient client = new YunmaClient(appkey,secretkey,mstr);
  • SmsSendRequest req = new SmsSendRequest();
  • req.setExtend("");
  • req.setRecNo("13800000000");
  • req.setSendtimer("");//不填代表立即发送 ,例:201604251102
  • req.setSmsParam("{"name":"云码APP"}");
  • req.setSmsSign("九五云码");
  • req.setSmsTemplateId("sms_639738");
  • String resp = client.execute(req);
  • $appkey = '';
  • $secretkey = '';
  • $mstr = time();
  • $YunmaClient = new YunmaClient($appkey,$secretkey,$mstr);
  • $req = new SmsSendRequest();
  • $req->__set('extend', '');
  • $req->__set('smsSign', '九五云码');
  • $req->__set('smsParam', '{"name":"云码APP"}');
  • $req->__set('recNo', '13800000000');
  • $req->__set('sendtimer', ''); //不填代表立即发送 ,例:201604251102
  • $req->__set('smsTemplateId', 'sms_639738');
  • $YunmaClient -> execute($req);

响应示例

  • JSON示例
  • {
    "taskId": "ojg6w8gg001181lg1z6l025o7bobo5",
    "result": 0,
    "extend": "",
    "msg": "操作成功"
    }

错误码解释

错误码 错误描述
0 成功
1 参数缺省
2 系统错误,请联系管理员。
3 系统验证未通过。
100 短信模板变量格式必须为json格式
101 接口appkey或secretkey密码错误
102 IP鉴权失败,请联系管理员。
103 短信模板不存在。
104 短信模板还未通过审核。
105 短信签名不存在。
106 短信签名还未通过审核。
107 请填写短信接收号码。支持单个或多个手机号码,传入号码为11位手机号码,不能加0或+86,群发短信多个号码,以英文逗号分隔。
108 短信接收号码中包含非手机号格式,请重新确认。
109 短信接收号码一次调用最多传入200个号码
110 短信定时发送格式不对,例如:201601010910
111 短信模板参数缺少,请再次确认短信模板中的变量个数。
112 短信模板参数值的数据类型必须为字符串类型。
113 分页参数,页码必须大于0
114 分页参数,每页数量。最大值100
115 短信发送日期格式yyyyMMdd
116 短信替换后的内容不能超过10000字
117 余额不足
118 查询号码为单个手机号码,不能加0或+86

状态查询说明

查询发送短信记录

HTTP请求地址

http://api.95yunma.com/router/sms/query.inf

http://api.95yunma.cn/router/sms/query.inf

公共参数

名称 参数值 类型 是否必选 示例 描述
接口key _appKey String 用户在系统中添加的appkey
接口密钥 _secretKey String 用户在系统中添加appkey时生成的接口密钥!当没用到SDK的时候,接口密钥为接口密钥连接上时间戳再进行md5加密!
时间戳 _mstr String

"系统生成的时间戳

Java:System.currentTimeMillis();

php:time();"

请求参数

名称 参数值 类型 是否必选 示例2 描述
透传参数 _extend String noacx001 公共透传参数,在接口调用是会透传回该参数;
短信发送任务ID _taskId String 0h528a433yw12zbs2ny10r90t0y322 提交短信发送接口成功后返回。
查询手机号码 _recNo String 13600000000 查询号码为单个手机号码,不能加0或+86
查询日期 _queryDate String yyyyMMdd 短信发送日期,支持近30天记录查询,格式yyyyMMdd
页码 _currentPage int 1
分页参数 _epageSize int 10 每页数量不能超过100

响应参数

名称 参数值 类型 示例 描述
返回结果 result String 0 0代表成功,其他请看错误信息列表
返回描述 msg String 操作成功 返回描述信息,请使用URLDecode解码
透传参数 extend String noacx001 透传的参数
查询集合总数量 totalCount int 查询集合总数量
查询当前页 currentPage int 查询当前页
每页数据条数 epageSize int 每页数据条数
集合对象 items json 集合对象
   └ 发送状态 smsStatus String 0代表成功,其他代表失败
   └ 短信内容 smsContent String 短信内容
   └ 扣费条数 smsLen String 短信扣费条数
   └ 模板id smsTemplateCode String 短信模板id
   └ 发送时间 smsSendTime String 发送短信时间
   └ 查询号码 recNo String 查询手机号码
返回数据对象 {"taskId":"ojg6w8gg001181lg1z6l025o7bobo5","result":0,"items":[{"smsStatus":"998","smsContent":"【九五云码】我是一条测试短信","smsLen":1,"recNo":"18612254965"}],"totalCount":6,"extend":"","epageSize":1,"currentPage":1,"msg":"操作成功"}

请求示例

  • JAVA
  • PHP
  • String appkey = "";
  • String secretkey = "";
  • String mstr = String.valueOf(System.currentTimeMillis());
  • YunmaClient client = new YunmaClient(appkey,secretkey,mstr);
  • SmsQueryRequest req = new SmsQueryRequest();
  • req.setExtend("");
  • req.setRecNo("13800000000");
  • req.setQueryDate("20160419");
  • req.setCurrentPage(1);
  • req.setTaskId("ojg6w8gg001181lg1z6l025o7bobo5");
  • req.setEpageSize(10);
  • String resp = client.execute(req);
  • $appkey = '';
  • $secretkey = '';
  • $mstr = time();
  • $YunmaClient = new YunmaClient($appkey,$secretkey,$mstr);
  • $req = new SmsQueryRequest();
  • $req->__set('extend', '');
  • $req->__set('taskId', 'ojg6w8gg001181lg1z6l025o7bobo5');
  • $req->__set('queryDate', '20160419');
  • $req->__set('currentPage', 1);
  • $req->__set('epageSize', 10);
  • $req->__set('recNo', '123132');
  • $YunmaClient -> execute($req);

响应示例

  • JSON示例
  • {
        "taskId": "ojg6w8gg001181lg1z6l025o7bobo5",
        "result": 0,
        "items": [
            {
                "smsStatus": "998",
                "smsContent": "【九五云码】我是一条测试短信",
                "smsLen": 1,
                "recNo": "18612254965"
            }
        ],
        "totalCount": 6,
        "extend": "",
        "epageSize": 1,
        "currentPage": 1,
        "msg": "操作成功"
    }
    

错误码解释

错误码 错误描述
0 成功
1 参数缺省
2 系统错误,请联系管理员。
3 系统验证未通过。
100 短信模板变量格式必须为json格式
101 接口appkey或secretkey密码错误
102 IP鉴权失败,请联系管理员。
103 短信模板不存在。
104 短信模板还未通过审核。
105 短信签名不存在。
106 短信签名还未通过审核。
107 请填写短信接收号码。支持单个或多个手机号码,传入号码为11位手机号码,不能加0或+86,群发短信多个号码,以英文逗号分隔。
108 短信接收号码中包含非手机号格式,请重新确认。
109 短信接收号码一次调用最多传入200个号码
110 短信定时发送格式不对,例如:201601010910
111 短信模板参数缺少,请再次确认短信模板中的变量个数。
112 短信模板参数值的数据类型必须为字符串类型。
113 分页参数,页码必须大于0
114 分页参数,每页数量。最大值100
115 短信发送日期格式yyyyMMdd
116 短信替换后的内容不能超过10000字
117 余额不足
118 查询号码为单个手机号码,不能加0或+86

SDK使用说明

九五云码平台免费提供的SDK,下载后可获取封装好的API以及使用文档,请求参数,响应参数说明等,开发者可根据SDK快速接入九五云码服务系统,使用过程中请遵守九五云码服务协议。

SDK下载

Java:需要使用Java SE/EE 1.5及以上版本

PHP:需要使用PHP 5 及以上版本

C/C++:待发布

注册九五云码

注册九五云码(若想正式发送使用,请先注册帐号)

进入子账户管理获取AppKey以及APP Secret

获取流程:

创建新应用获取AppKey

应用内查看密钥获取App Secret

设置短信签名

单个签名长度介于2到30个字符之前;

不能含违禁关键词,不能有其他特殊符号(如-,+#);

无须添加【】、()、[]符号,短信发送会自带【】、()、[]符号,避免重复;

注:个人开发者申请签名需要提供手持身份证正反面照片;企业自用申请签名需要提供企业营业执照扫描件;企业非自用申请签名需要提供企业营业执照扫描件、对企业执照扫描件、授权委托书扫描件。

设置短信模板

返回顶部

充值使用

SDK下载

点击这里给我发消息

返回顶部