一、查詢賬戶餘額balance()
參數名稱 | 說明 | 備注 |
Sn | 軟體序列号 | 格式XXX-XXX-XXX-XXXXX |
Pwd | 密碼 | md5(sn+password) 32位大寫 密文 +表示連接配接 |
函數傳回值:String(餘額)
接口位址:http://sdk3.leiyusoft.com:8060/webservice.asmx?op=balance
示例:序列号SDK-SSD-010-00001 密碼 xxxxxx
參數輸入:
SN= SDK-SSD-010-00001
PWD= 3B5D3C427365F40C1D27682D78BB31E0
示例傳回結果: 餘額79109條短信
XML格式:

具體函數PHP實作:
<?PHP
//該demo的功能是查餘額
$flag = 0;
//要post的資料
$argv = array(
'sn'=>'SDK-SSD-010-xxxxx', //替換成您自己的序列号
'pwd'=>'xxxxxx',//替換成您自己的密碼
);
//構造要post的字元串
foreach ($argv as $key=>$value) {
if ($flag!=0) {
$params .= "&";
$flag = 1;
}
$params.= $key."="; $params.= urlencode($value);
$flag = 1;
}
$length = strlen($params);
//建立socket連接配接
$fp = fsockopen("sdk2.leiyusoft.com",8060,$errno,$errstr,10) or exit($errstr."--->".$errno);
//構造post請求的頭
$header = "POST /webservice.asmx/GetBalance HTTP/1.1\r\n";
$header .= "Host:sdk2.leiyusoft.com\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: ".$length."\r\n";
$header .= "Connection: Close\r\n\r\n";
//添加post的字元串
$header .= $params."\r\n";
//發送post的資料
fputs($fp,$header);
$inheader = 1;
while (!feof($fp)) {
$line = fgets($fp,1024); //去除請求包的頭隻顯示頁面的傳回資料
if ($inheader && ($line == "\n" || $line == "\r\n")) {
$inheader = 0;
}
if ($inheader == 0) {
// echo $line;
}
}
//<string xmlns="http://tempuri.org/">-5</string>
$line=str_replace("<string xmlns=\"http://tempuri.org/\">","",$line);
$line=str_replace("</string>","",$line);
$result=explode("-",$line);
if(count($result)>1)
echo '發送失敗傳回值為:'.$line;
else
echo '餘額為:'.$line;
?>
二、群發語音mdAudioSend
參數名稱 | 說明 | 類型 | 是否必須 | 備注 |
Sn | 軟體序列号 | String | 是 | 格式XXX-XXX-XXX-XXXXX |
Pwd | 密碼 | String | 是 | md5(sn+password) 32位大寫密文 |
title | 主題 | String | 是 | 長度最大40字元 |
Mobile | 手機号 | String | 是 | 手機号碼多個以英文逗号隔開 |
txt | 文本内容 | String | 否 | 普通文本内容,最大300個字元 |
Content | Wav base64串 | String | 否 | 檔案内容,base64編碼(完整檔案名(包括字尾),檔案base64編碼串);檔案名最大20個字元包括字尾,編碼檔案大小最大500k.如您好.wav,base64編碼串 |
Srcnumber | 源号碼(号碼顯示) | String | 是 | 源号碼(号碼顯示) |
stime | 定時時間 | String | 否 | 格式為 yyyy-mm-dd HH:MM:SS,例如:2010-12-29 16:27:03(非定時置空) |
傳回rrid:201012300908160937 (示例)
輸出結果:
XML格式:
- 1.txt 和content 不能同時為空 并且不能同時不為空.
- 2.語音合成請求(附加功能):
txt不為空,同時mobile為空.調用成功傳回如201012300908160937那麼通過下面的位址可以得到該文本合成的語音檔案: http://sdk3.leiyusoft.com:8060/yuyin/syn/201012300908160937_47512.wav
位址格式是:http:// sdk3.leiyusoft.com:8060/yuyin/syn/rrid_特服号.wav
此處的rrid 為接口送出成功的傳回值.特服号是該序列号(sn)對應的一個短号碼,可以通過此接口的GetCode 方法進行擷取.GetCode的傳回值形式如 047512 此處0表示成功 47512 表示該sn對應的該特服号.
具體函數PHP實作:
<?PHP
//該demo的功能是發語音
//我們的Demo,都是在gb2312環境下測試的。如果您的系統是UTF-8,肯定會亂碼。
//請參考第17行和第29行進行處理。
$file="1.wav";
$fp=fopen($file,"r")or die("Can't open file"); //打開檔案
$PicBase1=base64_encode(fread($fp,filesize($file)));//base64編碼
$file_content='1.wav,'.$PicBase1;
//echo $file_content;
//exit;
$flag = 0;
//要post的資料
$argv = array(
'sn'=>'SDK-SSD-010-*****', //換成您自己的序列号
'pwd'=>strtoupper(md5('SDK-SSD-010-*****'.'xxxxxx')), //此處密碼需要加密 加密方式為 md5(sn+password)
'title'=>'test測試語音',
//'title'=>iconv( "UTF-8", "gb2312//IGNORE" ,"test語音測試"),
'mobile'=>'186****4700',//手機号 多個用英文的逗号隔開 post理論沒有長度限制.推薦群發一次小于等于10000個手機号
'txt'=>'', //語音文本 和語音檔案content 選擇其中一個進行傳值 即可,不需要同時傳值 也不可同時不傳值
'content'=>$file_content,//語音内容//base64_encode();
'srcnumber'=>'',//預設空 如果空傳回系統生成的辨別串 如果傳值保證值唯一 成功則傳回傳入的值
'stime'=>''//定時時間 格式為2011-6-29 11:09:21
);
//構造要post的字元串
foreach ($argv as $key=>$value) {
if ($flag!=0) {
$params .= "&";
$flag = 1;
}
$params.= $key."="; $params.= urlencode($value);
$flag = 1;
}
$length = strlen($params);
//建立socket連接配接
$fp = fsockopen("sdk3.leiyusoft.com",8060,$errno,$errstr,10) or exit($errstr."--->".$errno);
//構造post請求的頭
$header = "POST /webservice.asmx/mdAudioSend HTTP/1.1\r\n";
$header .= "Host:sdk3.leiyusoft.com\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: ".$length."\r\n";
$header .= "Connection: Close\r\n\r\n";
//添加post的字元串
$header .= $params."\r\n";
//發送post的資料
fputs($fp,$header);
$inheader = 1;
while (!feof($fp)) {
$line = fgets($fp,1024); //去除請求包的頭隻顯示頁面的傳回資料
if ($inheader && ($line == "\n" || $line == "\r\n")) {
$inheader = 0;
}
if ($inheader == 0) {
// echo $line;
}
}
//<string xmlns="http://tempuri.org/">-5</string>
$line=str_replace("<string xmlns=\"http://tempuri.org/\">","",$line);
$line=str_replace("</string>","",$line);
$result=explode("-",$line);
if(count($result)>1)
echo '發送失敗傳回值為:'.$line;
else
echo '發送成功 傳回值為:'.$line;
?>
三、webservice傳回集合對照表:
傳回值 | 傳回值說明 |
-2 | 帳号/密碼不正确 |
-4 | 餘額不足 |
-5 | 資料格式錯誤 |
-6 | 參數有誤 |
-8 | 流量控制錯誤 |
-10 | 内容長度長 |
-11 | 資料庫錯誤 |
-12 | 序列号狀态錯誤 |
-13 | 沒有送出增值内容 |
-14 | 伺服器寫檔案失敗 |
-15 | 檔案内容base64編碼錯誤 |
四、附加說明:
1.語音SDK位址:
常用接口位址:http://sdk3.leiyusoft.com:8060/webservice.asmx
2.其它說明:
(1)開發使用的帳号必須為SDK開頭,如SDK-SSD-010-00001,帳号第一次需要調用Register方法注冊一次.僅需注冊一次即可,資訊必須真實
(2)UnRegister與Register配合使用, 連續使用不得超過10次/天;
3. 鄭重聲明:
(1)禁止相同的内容多個手機号連續一條一條送出. 否則禁用帳号,由此帶來損失由客戶自行負責.
(2)請客戶提供外網伺服器IP以便于綁定IP發送,提高賬号的安全性!
(3)在程式裡最好有配置檔案,程式自動判斷當某個接口連接配接逾時送出速度變慢時.程式可以自動切換其它的接口以下是推薦的幾個伺服器,僅接口位址不同而已.方法全部相同;
位址1:http://sdk3.leiyusoft.com:8060/webservice.asmx
這些位址都是标準的webservice位址,C#,Java客戶可以按照自己熟悉的方式去解析String
或者
位址1:http://sdk3.leiyusoft.com:8060/webservice.asmx?wsdl
五、示例Demo源代碼下載下傳:
DEMO SDK語音接口文檔 所有下載下傳