中国短信网--HTTP接口文档
v2.2
最新修改时间:2009-04-08
接口域名:api.c123.com
最新文档下载地址:down.c123.com/doc
接口程序下载地址:down.c123.com/api
测 试 账 号
用户名:9999
密 码:9999
双方通过HTTP方式交互数据,第三方可以简单的“name=value”方式发送提交内容或响应请求内容。即通过HTTP的GET/POST方式交换。
另外双方需要保证数据传输的完整性和安全性,每次发送请求都有响应(响应返回格式为纯文本),安全验证目前采用用户名和密码的方式。
服务器接收数据可以是GBK或UTF-8编码字符,默认接收数据是GBK编码,如提交的是UTF-8编码字符,需要添加参数encode=utf8。
请求响应返回内容是GBK编码。
所为响应即每次向服务器提交请求后返回值
响应值格式为纯文本
状态码
如发送成功后返回
100
GET/POST操作格式:
http://api.c123.com/tx/?uid=用户账号&pwd=MD5位32密码&mobile=号码&content=内容
接口参数说明:
参数名 |
参数字段 |
参数说明 |
uid |
用户账号 |
|
pwd |
用户密码 |
小写32位MD5加密 |
time |
定时时间 |
可选项,及时发送时参数无
格式:YYYY-MM-DD HH:MM 如:"2010-05-27 12:01" (年-月-日 时:分),发送时间以北京时间为准 |
mid |
子扩展号 |
可选项,根据用户账号是否支持扩展 |
encode |
字符编码 |
可选项,默认接收数据是GBK编码,如提交的是UTF-8编码字符,需要添加参数 encode=utf8 |
mobile |
接收号码 |
同时发送给多个号码时,号码之间用英文半角逗号分隔(,)如:13972827282,13072827282,02185418874 GET 方式每次最多可以提交50条号码 POST 方式每次最多可以提交2000条号码[建议用POST方式提交] |
content |
短信内容 |
发送内容需要进行URL字符标准化转码。 ASP:server.URLEncode("短信内容") PHP:urlencode("短信内容") JAVA:java.net.URLEncoder.encode("短信内容") |
例:
接 收 号:13900008888,13900009999,13100006666,0218882228
发送内容:中国短信网发送测试
发成功时响应状态码值:
100
返回发送的状态码
状态码 说明
100 发送成功
101 验证失败
102 短信不足
103 操作失败
104 非法字符
105 内容过多
106 号码过多
107 频率过快
108 号码内容空
109 账号冻结
110 禁止频繁单条发送
111 系统暂定发送
120 系统升级
GET操作的格式:
http://api.c123.com/rx/?uid=用户账号&pwd=MD5位32密码
接口参数说明:
参数 |
参数字段名 |
说明 |
uid |
用户账号 |
|
pwd |
用户密码 |
小写32位MD5加密 |
例:
http://api.c123.com/rx/?uid=9999&pwd=fa246d0262c3925617b0c72bb20eeb1d
响应结果为纯文本,每次可接收多条回复信息:
状态码{&}回复号码||回复内容||回复时间||回复网关号{&}回复号码||回复内容||回复时间||回复网关号…….
例响应结果值:
100{&}13912341234||中国短信测试回复||
返回发送的状态码
无回复内容时返回空
状态码 说明
100 接收成功
101 验证失败
GET操作格式:
http://api.c123.com/mm/?uid=用户账号&pwd=MD5位32密码
接口参数说明:
参数 |
参数字段名 |
说明 |
uid |
用户账号 |
|
pwd |
用户密码 |
小写32位MD5加密 |
例:
http://api.c123.com/mm/?uid=9999&pwd=fa246d0262c3925617b0c72bb20eeb1d
响应结果为纯文本:
状态码||剩余可发短信
例响应结果值:
100||22348
状态码 说明
100 请求成功
101 验证失败
ASP示例 发送短信
<%
'--------------------------------
'功能: 中国短信网ASP HTTP接口示例
'修改:
'作者: 短信网技术
QQ 1084690886
'说明: http://api.c123.com/tx/?uid=用户账号&pwd=MD5位32密码&mobile=号码&content=内容
'--------------------------------*/
dim mobile,content
mobile = "13955447828,02188744445,13154316688" '多个号码之间用”,”分隔
content = "中国短信网短信测试123" '发送内容
sendsms trim(replace(mobile),",",",")),trim(content)
Sub sendsms(mobile,msg)
dim userid,password,status
dim xmlObj,sendurl
userid = "9999" '用户帐号
password = "9999" '用户密码
password = LCASE(MD5(password,32))
sendurl="http://api.c123.com/tx/?uid="&userid&"&pwd="&password&"&mobile="&mobile&"&content="&server.URLEncode(msg)
set xmlObj = server.CreateObject("Microsoft.XMLHTTP")
xmlObj.Open "GET",sendurl,false
xmlObj.send()
status = xmlObj.responseText
set xmlObj = nothing
if status = "100" then '发送成功
Response.Write
"发送成功!"
else '发送失败
Response.Write
"发送失败!"
end if
End sub
%>
PHP示例 发送短信
/*--------------------------------
功能: 中国短信网PHP HTTP接口
修改:
作者: 短信网技术 QQ 1084690886
说明: http://api.c123.com/tx/?uid=用户账号&pwd=MD5位32密码&mobile=号码&content=内容
--------------------------------*/
$uid = '9999'; //用户账号
$pwd = '9999'; //用户密码
$http = 'http://api.c123.com/tx/'; //发送地址
$mobile = '13912341234,13312341234,13512341234,02122334444'; //多个号码之间用”,”分隔
$content = '中国短信网PHP&HTTP接口'; //发送内容
//即时发送
$res = sendSMS($mobile,$content);
echo $res;
//定时发送
$time = '2010-05-27 12:11';
//$res =
sendSMS($mobile,$content,$time);
//echo $res;
function
sendSMS($mobile,$content,$time='',$mid='')
{
global
$uid,$pwd,$http;
$data
= array
(
'uid'=>$uid, //用户账号
'pwd'=>strtolower(md5($pwd)), //MD5位32密码小写
'mobile'=>$mobile, //号码
'content'=>$content, //内容
'time'=>$time, //空即时发送
'mid'=>$mid //子扩展号
);
$re=
postSMS($http,$data);
if(
trim($re) == '100' )
{
return
"发送成功!";
}
else
{
return
"发送失败!";
}
}
function postSMS($url,$data='')
{
$row
= parse_url($url);
$host
= $row['host'];
$port
= $row['port'] ? $row['port']:80;
$file
= $row['path'];
while
(list($k,$v) = each($data))
{
$post
.= rawurlencode($k)."=".rawurlencode($v)."&"; //转URL标准码
}
$post
= substr( $post , 0 , -1 );
$len
= strlen($post);
$fp
= fsockopen( $host ,$port, $errno, $errstr, 10);
if
(!$fp) {
return
"$errstr ($errno)\n";
}
else {
$receive
= '';
$out
= "POST $file HTTP/1.1\r\n";
$out
.= "Host: $host\r\n";
$out
.= "Content-type: application/x-www-form-urlencoded\r\n";
$out
.= "Connection: Close\r\n";
$out
.= "Content-Length: $len\r\n\r\n";
$out
.= $post;
fwrite($fp,
$out);
while
(!feof($fp)) {
$receive
.= fgets($fp, 128);
}
fclose($fp);
$receive
= explode("\r\n\r\n",$receive);
unset($receive[0]);
return
implode("",$receive);
}
}
?>