2017年7月28日 星期五

簡訊王 發送api

Ref : https://www.kotsms.com.tw/index.php?selectpage=pagenews&kind=4&viewnum=238


範例條件 代入內容
usernameapi01(帳號)
passwordapi01(密碼)
dstaddr0933853653 (十位數字門號或加國碼的國際門號)
smbody【簡訊王api測試】70個中英數標點混合為一則簡訊。可使用enter
以及空格 全形數字123以及長達335個字的長簡訊。
dlvtime建議設定為0 秒,可使用,YYYY/MM/DD hh24:mm:ss,格式設定
vldtime可不代入此參數 (不設定有效期限將使用預設值28800秒 )
response http://回報網址/response.php (可不代入此參數)


https://api.kotsms.com.tw/kotsmsapi-1.php?username=帳號&password=密碼&dstaddr=0933853653&
smbody=簡訊王api簡訊測試 &response=http://回報網址/response.php



kmsgid=5091933&dstaddr=0961000001&dlvtime=20070101120000&donetime=
20070101120010&statusstr=DELIVRD (不限於只有這些Tag,擴充用,詳見表二)

response.php接收回報程式範例:(此檔案不需額外製作己附於壓縮檔內 )


<?php
$res="kmsgid=".$_REQUEST[“kmsgid”]."\tdstaddr=".$_REQUEST[“dstaddr”]."\tdlvtime=".
$_REQUEST[“dlvtime”]."\tdonetime=".$_REQUEST[“donetime”]."&\tstatusstr=".$_REQUEST[“statusstr”];
$fp = fopen("retccmoapi.txt","a+");
fwrite( $fp, $res);
fclose($fp);
?>


3.錯誤代碼(kmsgid)表一

-1
CGI string error ,系統維護中或其他錯誤 ,帶入的參數異常,伺服器異常
-2 授權錯誤(帳號/密碼錯誤)
-4 A Number違反規則 發送端 870短碼VCSN 設定異常
-5B Number違反規則 接收端 門號錯誤 -
-6Closed User 接收端的門號停話異常090 094 099 付費代號等
-20Schedule Time錯誤 預約時間錯誤 或時間已過
-21Valid Time錯誤 有效時間錯誤
-1000發送內容違反NCC規範
-59999帳務系統異常 簡訊無法扣款送出
-60002 您帳戶中的點數不足
-60014該用戶已申請 拒收簡訊平台之簡訊 ( 2010 NCC新規)
-999959999在12 小時內,相同容錯機制碼
-999969999同秒, 同門號, 同內容簡訊
-999979999鎖定來源IP
-999989999簡訊為空

常見SMSC訊息狀況摘錄-表二
 

Message State
 Final Message States
 Description
DELIVERED
DELIVRD
成功發送  確定該手機已收到簡訊且回應狀態。
 EXPIRED
 EXPIRED
逾時未達  該門號手機一直未開機、或收不到訊號,系統已重複發送8~24小時,仍然無法傳送簡訊給該門號。
 DELETED
 DELETED 
刪除簡訊  指該簡訊違反台灣現有法規(禁用字),此簡訊已被系統刪除,將不再發送。
 UNDELIVERABLE
  UNDELIV
無法投遞  可能是簡訊收件夾已滿或無法於8~24小時內重複發送…等問題。
 ACCEPTED
 ACCEPTD
發送失敗   電信業者回覆告知發送失敗。此狀態為該簡訊送達門號有異常,例如:空號、停話、號碼不存在…等。※簡訊內容出現NCC規定【禁用字】時,將造成『全數發送失敗』※
 UNKNOWN
  UNKNOWN
未知情形  此狀態為系統商與系統商之間資料交換失敗皆統稱未知情形。
 REJECTED
 REJECTD
拒收簡訊  該接收門號拒收簡訊。
 SYNTAXERROR
  SYNTAXE   
語法錯誤  發送簡訊語法錯誤,編碼錯誤或發送號碼為付費手機門號(0948)…等。


註記:發送狀態"紅色字樣" 皆不予計費
Final Message States為Phase II中statusstr的值
 

簡訊發送點數計算方式
 70個字以內-----扣1點
134個字以內----扣2點  
201個字以內----扣3點  
268個字以內----扣4點  
335個字以內----扣5點  
若使用長簡訊發送時,當其中一則發送失敗時,該筆簡訊將判定為發送失敗,點數全部補回。
國際簡訊以3倍計點 (70個字以內------扣3點….依此類推)



 <?
if( strlen(trim($_REQUEST["sUserName"]))>0 && strlen(trim($_REQUEST["sPassword"]))>0 && strlen(trim($_REQUEST["sTelNo"]))>0 && strlen(trim($_REQUEST["sMessage"]))>0 ){
    //$msg="username=".$_REQUEST["sUserName"]."&password=".$_REQUEST["sPassword"]."&dstaddr=".$_REQUEST["sTelNo"]."&smbody=".$_REQUEST["sMessage"];
    $msg="username=testapi01&password=testapi&dstaddr=".$_REQUEST["sTelNo"]."&smbody=".$_REQUEST["sMessage"];
    
    $host="202.39.48.216";
    
    $to_url="http://".$host."/kotsmsapi-1.php?".$msg;
    
    if (!$getfile=file($to_url)){
        echo "<br><br><br><br><center>ERROR:無法連接</center>";
        exit;
    }
    $term_tmp = implode ('', $getfile);
    $term=$term_tmp;
    echo $term;
}

?>