企业名称:重庆融沙科技有限公司
联系人:贾先生
电话:023-86664162
手机:18580068006
邮箱:2996814741@qq.com
网址:www.cqrskj.cn
地址:重庆市沙坪坝区石碾盘东原ARC广场1-31-1
1.1 短信接口分类
1、用户自写短信内容发送短信,适合:会员群发通知、会员营销群发等,有人工审核 ;
2、通过绑定短信模板发送短信,适合:验证码、订单短信等触发类短信,可以免审下发 ;
3、获取手机用户的短信上行。
1.2 短信接口主要功能
短信接口支持中国移动、中国联通、中国电信以及国内虚拟运营商所属的全国手机号码。国外手机可转至国际短信查看详情。
1.3 短信接口支持手机号码情况
√ 用户自写短信内容,适合:会员群发通知、 会员营销群发 等;
√ 单发或群发;
√ 支持行业及广告营销类内容;
√ 支持定时发送短信;
√ 小规模数量免审自动下发。
√ 无人工审核 。
1.4 短信接口请求方式
用户通过HTTP的POST方式提交短信发送请求。编码采用UTF-8编码。
1.6 短信提交地址
环境 | HTTP请求地址 |
---|---|
正式环境 | 联系客服获取接口请求地址 |
1.6 参数定义
序号 | 参数 | 说明 |
---|---|---|
1 | name | 必填参数。用户账号 |
2 | pwd | 必填参数。(登陆web平台:基本资料中的接口密码) |
3 | content | 必填参数。发送内容(1-500 个汉字,建议300字符内)UTF-8编码 |
4 | mobile | 必填参数。手机号码。多个以英文逗号隔开 |
5 | stime | 可选参数。(发送时间,填写时已填写的时间发送,不填时为当前时间发送,秒到) |
6 | sign | 必填参数。用户签名。(建议联系销售进行后台绑定) |
7 | type | 必填参数。固定值 pt |
8 | extno | 可选参数,(扩展码,用户定义扩展码,只能为数字,如需要扩展不同签名,需要帮扩展的号码和对应的签名报给客服) |
1.7 短信提交响应
用户短信通过http请求提交到服务器后,服务器返回响应码,响应码的格式如下:code,sendid,invalidcount,successcount,blackcount,msg
1.7.1格式说明
短信提交响应为英文逗号隔开的一行数据,状态,发送编号,无效号码数,成功提交数,黑名单数和消息,无论发送的号码是多少,一个发送请求只返回一个sendid,如果响应的状态不是"0",则只有状态和消息。
1.7.2示例
提交成功
0, 20140821110353234137876543,0,500,0,提交成功
20140821110353234137876543为返回的sendid,这个状态供报告匹配时使用。
1.7.3 响应状态值说明
代码 | 说明 |
---|---|
0 | 提交成功 |
1 | 含有敏感词汇 |
2 | 含有敏感词汇 |
3 | 没有号码 |
4 | 包含sql语句 |
10 | 账号不存在 |
11 | 账号注销 |
12 | 账号停用 |
13 | IP鉴权失败 |
14 | 格式错误 |
-1 | 系统异常 |
1.8短信发送例子
http://pushUrl?name=test&pwd=112345&content=testmsg&mobile=18266878877,18655555555&stime=2012-08-01 8:20:23&sign=testsign&type=pt&extno=
2.1 接口地址
2.2 参数定义
序号 | 参数 | 说明 |
---|---|---|
1 | name | 必填参数。用户账号 |
2 | pwd | 必填参数。用户密码 |
3 | type | 必填参数。固定值 balance |
2.3 提交响应
code为获取状态,balance是用户余额。
2.4 提交响应值
代码 | 说明 |
---|---|
0 | 提交成功 |
10 | 账户不存在 |
11 | 账号注销 |
12 | 账号停用 |
13 | IP鉴权失败 |
2.5 示例
http://pushUrl?name=test&pwd=testpwd&type=balance
3.1 参数定义
序号 | 参数 | 说明 |
---|---|---|
1 | name | MD5(AccessSecret+ random + timestamp)通过MD5消息摘要算法计算的结果,AccessSecret是平台分配给用户的开发秘钥,random是本次请求携带的随机串,timestamp是本次请求携带的当前时间戳 |
2 | pwd | 接收状态报告验证的密码,可以为空 |
3 | sendid | 提交短信时平台返回的sendid,参见1.2 |
4 | time | 报告时间(多个号码时,是第一个号码的时间) |
5 | mobile | 当多个号码状态相同时 手机号以英文逗号隔开;不同时 为单个手机号码 |
6 | state | 状态报告数值 |
3.2 短信提交地址
状态值(字符串) | 说明 |
---|---|
DELIVRD | 短消息转发成功 |
EXPIRED | 短消息超过有效期 |
UNDELIV | 短消息是不可达的 |
UNKNOWN | 未知短消息状态 |
REJECTD | 短消息被短信中心拒绝 |
DTBLACK | 目的号码是黑名单号码 |
ERR:104 | 系统忙 |
REJECT | 审核驳回 |
其他 | 网关内部状态 |
3.3 示例
http://pushUrl?name=admin&pwd=12345&sendid=12345&time=2013-08-20 20:11:34&mobile=13900210021&state=DELIVRD
其中,pushUrl为用户启动的服务地址。
4.1 参数定义
序号 | 参数 | 说明 |
---|---|---|
1 | name | 接收信息验证的用户名(不是账户名),是按照用户要求配置的名称,可以为空 |
2 | pwd | 接收信息服务需验证的密码,可以为空 |
3 | args | 手机号、内容、时间、系统扩展码+自定义扩展码;以 #@# 分割。(扩展码可能为空) ,多个上行以#@@# 分割 |
4.2 示例
http://pushMoUrl?name=admin&pwd=12345&args=13800210021#@#content1#@#2013-08-21 21:20:11#@#008123#@@#13978767656#@#content2#@#2013-08-21 21:20:30#@#008456
本例中 008为系统为该用户设置的扩展码,123和另外一个456是提交短信时用户自己加的自定义扩展码;即发送时extno=123
系统扩展码可能变化,如果变化一般长度不变,建议通过长度来截取得到自定义扩展码
其中,pushUrl为用户启动的服务地址。
5.1 请求示例
6.1 请求示例
7.1 请求示例
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Text;using System.Net;using System.IO;
/// /// 短信发送/// public partial class send : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){}protected void Button1_Click(object sender, EventArgs e){StringBuilder sms = new StringBuilder();sms.AppendFormat("name={0}", "填账号的登录名");sms.AppendFormat("&pwd={0}", "填接口密码");//登陆平台,管理中心--基本资料--接口密码(28位密文);复制使用即可。sms.AppendFormat("&content={0}", this.TextBox2.Text);sms.AppendFormat("&mobile={0}", this.TextBox1.Text);sms.AppendFormat("&sign={0}", "企业签名");// 公司的简称或产品的简称都可以sms.Append("&type=pt");string resp = PushToWeb("联系客服获取接口请求地址", sms.ToString(), Encoding.UTF8);string[] msg = resp.Split(',');if (msg[0] == "0"){this.Label1.Text = "提交成功:SendID=" + msg[1];}else{this.Label1.Text = "提交失败:错误信息=" + msg[1];}}private string PushToWeb(string weburl, string data, Encoding encode){byte[] byteArray = encode.GetBytes(data);HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(new Uri(weburl));webRequest.Method = "POST";webRequest.ContentType = "application/x-www-form-urlencoded";webRequest.ContentLength = byteArray.Length;Stream newStream = webRequest.GetRequestStream();newStream.Write(byteArray, 0, byteArray.Length);newStream.Close();
//接收返回信息:HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse();StreamReader aspx = new StreamReader(response.GetResponseStream(), encode);return aspx.ReadToEnd();}}