中国短信网--HTTP接口文档

v2.2


最新修改时间:2009-04-08

接口域名:api.c123.com

 

一、工作方式... 1

二、字符编码... 1

三、响应格式... 2

四、短信发送... 2

五、接收回复短信... 3

六、取剩余短信条数... 4

七、程序示例... 4

 

最新文档下载地址:down.c123.com/doc

接口程序下载地址:down.c123.com/api

 

 

用户名:9999

  :9999

 

一、工作方式

方通HTTP方式交互据,第三方可以简单的“name=value”方式送提交容或响应请即通HTTPGET/POST方式交

 

    另外方需要保证数传输的完整性和安全性,每次求都有响应(响应返回格式为纯文本)安全验证目前采用用的方式

 

二、字符编码

服务器接收数据可以是GBKUTF-8编码字符,默认接收据是GBK编码,如提交的是UTF-8编码字符,需要添加参数encode=utf8
响应返回GBK编码

 

三、响应格式

所为响应即每次向服务器提交请求后返回值

响应值格式为纯文本
状态码

如发送成功后返回
100

 

四、短信发送

GET/POST操作格式:

 

http://api.c123.com/tx/?uid=用户账号&pwd=MD532密码&mobile=号码&content=内容

 

接口参数说明:

参数名

参数字段

参数

uid

用户账号

 

pwd

用户密

32MD5加密

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字符标准化转码。
{URL
字符编码说明:返回字符串,此字符串中除了
-_.之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+}

ASPserver.URLEncode("短信内容")

PHPurlencode("短信内容")

JAVAjava.net.URLEncoder.encode("短信内容")

:

号:13900008888,13900009999,13100006666,0218882228

发送内容:中国短信网发送测试

http://api.c123.com/tx/?uid=9999&pwd=fa246d0262c3925617b0c72bb20eeb1d&mobile=13900008888,13900009999,13100006666,0218882228&content=%D6%D0%B9%FA%B6%CC%D0%C5%CD%F8%B7%A2%CB%CD%B2%E2%CA%D4

发成功时响应状态码值:

100

返回发送的状态码

状态码     说明

100         发送成功

101         验证失败

102         短信不足

103         操作失败

104         非法字符

105         内容过多

106         号码过多

107         频率过快

108         号码内容空

109         账号冻结

110         禁止频繁单条发送

111         系统暂定发送

120         系统升级

 

 

五、接收回复短信

GET操作的格式:

 

http://api.c123.com/rx/?uid=用户账号&pwd=MD532密码

 

接口参数说明:

参数

参数字段名

uid

用户账号

 

pwd

用户密

32MD5加密

 

:

http://api.c123.com/rx/?uid=9999&pwd=fa246d0262c3925617b0c72bb20eeb1d


响应结果为纯文本,每次可接收多条回复信息:

状态码{&}回复号码||回复内容||回复时间||回复网关号{&}回复号码||回复内容||回复时间||回复网关号…….

响应结果值:

100{&}13912341234||中国短信测试回复||2008-05-27 12:10:11||1068112227282{&}15912343333||中国短信测试回复2||2008-05-27 13:11:11||106811222728200
返回发送的状态码

无回复内容时返回空

 

状态码     说明

100         接收成功

101         验证失败

 

 

 

 

 

六、取剩余短信条数

GET操作格式:

 

http://api.c123.com/mm/?uid=用户账号&pwd=MD532密码

 

接口参数说明:

参数

参数字段名

uid

用户账号

 

pwd

用户密

32MD5加密

 

:

http://api.c123.com/mm/?uid=9999&pwd=fa246d0262c3925617b0c72bb20eeb1d


响应结果为纯文本:

状态码||剩余可发短信

响应结果值:

100||22348

状态码     说明

100         请求成功

101         验证失败

 

 

七、程序示例

ASP示例 发送短信

<%

'--------------------------------

'功能:        中国短信网ASP HTTP接口示例

'修改:        2009-04-08

'作者:        短信网技术 QQ 1084690886

'说明:        http://api.c123.com/tx/?uid=用户账号&pwd=MD532密码&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接口

修改:              2009-04-08

作者:         短信网技术 QQ 1084690886

说明:              http://api.c123.com/tx/?uid=用户账号&pwd=MD532密码&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)),     //MD532密码小写

              '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);

       }

}

?>