國內短信接口權威運營服務商網    電信全網移動信息服務許可證:B2-20150469

7x24小時服務熱線:

400-113-0919

php短信接口示例

<?php
/*--------------------------------
功能: 使用smsapi.class.php類發送短信
說明: http://api.sms.cn/sms/?ac=send&uid=用戶賬號&pwd=MD5位32密碼&mobile=號碼&content=內容
官網: www.112528.tw
狀態: {"stat":"100","message":"發送成功"}

100 發送成功
101 驗證失敗
102 短信不足
103 操作失敗
104 非法字符
105 內容過多
106 號碼過多
107 頻率過快
108 號碼內容空
109 賬號凍結
112 號碼錯誤
116 禁止接口發送
117 綁定IP不正確
161 未添加短信模板
162 模板格式不正確
163 模板ID不正確
164 全文模板不匹配
--------------------------------*/

include 'smsapi.class.php';

//接口賬號
$uid = 'testsms';

//登錄密碼
$pwd = 'test22224234';

/**
* 實例化接口
*
* @param string $uid 接口賬號
* @param string $pwd 接口密碼
*/
$api = new SmsApi($uid,$pwd);

/*
* 變量模板發送示例
* 模板內容:您的驗證碼是:{$code},對用戶{$username}操作綁定手機號,有效期為5分鐘。如非本人操作,可不用理會?!驹菩拧?br /> * 變量模板ID:100003
*/

//發送的手機 多個號碼用,英文逗號隔開

$mobile = '15900000000';

//短信內容參數
$contentParam = array(
'code' => $api->randNumber(),
'username' => '您好'
);

//變量模板ID
$template = '100005';

//發送變量模板短信
$result = $api->send($mobile,$contentParam,$template);

if($result['stat']=='100')
{
echo '發送成功';
}
else
{
echo '發送失敗:'.$result['stat'].'('.$result['message'].')';
}

 

/*
* 全文模板發送示例
* 模板內容:登錄驗證碼:{**}。如非本人操作,可不用理會!【云信】
*
*/

//發送的手機 多個號碼用,英文逗號隔開
$mobile = '15900000000';

//短信內容
$content = '登錄驗證碼:'.$api->randNumber().'。如非本人操作,可不用理會!【云信】';

//發送全文模板短信
$result = $api->sendAll($mobile,$content);

if($result['stat']=='100')
{
echo '發送成功';
}
else
{
echo '發送失敗:'.$result['stat'].'('.$result['message'].')';
}

 

//當前請求返回的原始信息
//echo $api->getResult();

//取剩余短信條數
//print_r($api->getNumber());

//獲取發送狀態
//print_r($api->getStatus());

//接收上行短信(回復)
//print_r($api->getReply());
?>

 

smsapi.class.php

 

<?php
/**
SMS短信接口類
@author sms.cn
@link http://www.112528.tw
*/

class SmsApi {
/**
* SMSAPI請求地址
*/
const API_URL = 'http://api.sms.cn/sms/';

/**
* 接口賬號
*
* @var string
*/
protected $uid;

/**
* 接口密碼
*
* @var string
* @link http://sms.sms.cn/ 請到此處(短信設置->接口密碼)獲取
*/
protected $pwd;

/**
* sms api請求地址
* @var string
*/
protected $apiURL;

/**
* 短信發送請求參數
* @var string
*/
protected $smsParams;

/**
* 接口返回信息
* @var string
*/
protected $resultMsg;

/**
* 接口返回信息格式
* @var string
*/
protected $format;

/**
* 構造方法
*
* @param string $uid 接口賬號
* @param string $pwd 接口密碼
*/
public function __construct($uid = '', $pwd = '')
{
//用戶和密碼可直接寫在類里
$def_uid = '';
$def_pwd = '';
$this->uid = $uid ?: $def_uid;
$this->pwd = $pwd ?: $def_pwd;
$this->apiURL = self::API_URL;
$this->format = 'json';
}
/**
* SMS公共參數
* @return array
*/
protected function publicParams()
{
return array(
'uid' => $this->uid,
'pwd' => md5($this->pwd.$this->uid),
'format' => $this->format,
);
}
/**
* 發送變量模板短信
*
* @param string $mobile 手機號碼
* @param string $content 短信內容參數
* @param string $template 短信模板ID
* @return array
*/
public function send($mobile, $contentParam,$template='') {
//短信發送參數
$this->smsParams = [
'ac' => 'send',
'mobile' => $mobile,
'content' => json_encode($contentParam),
'template' => $template
];
$this->resultMsg = $this->request();
return $this->json_to_array($this->resultMsg, true);
}

/**
* 發送全文模板短信
*
* @param string $mobile 手機號碼
* @param string $content 短信內容
* @return array
*/
public function sendAll($mobile, $content) {
//短信發送參數
$this->smsParams = [
'ac' => 'send',
'mobile' => $mobile,
'content' => $content,
];
$this->resultMsg = $this->request();

return $this->json_to_array($this->resultMsg, true);
}

/**
* 取剩余短信條數
*
* @return array
*/
public function getNumber() {
//參數
$this->smsParams = [
'ac' => 'number',
];
$this->resultMsg = $this->request();
return $this->json_to_array($this->resultMsg, true);
}

/**
* 獲取發送狀態
*
* @return array
*/
public function getStatus() {
//參數
$this->smsParams = [
'ac' => 'status',
];
$this->resultMsg = $this->request();
return $this->json_to_array($this->resultMsg, true);
}
/**
* 接收上行短信(回復)
*
* @return array
*/
public function getReply() {
//參數
$this->smsParams = [
'ac' => 'reply',
];
$this->resultMsg = $this->request();
return $this->json_to_array($this->resultMsg, true);
}
/**
* 取已發送總條數
*
* @return array
*/
public function getSendTotal() {
//參數
$this->smsParams = [
'ac' => 'number',
'cmd' => 'send',
];
$this->resultMsg = $this->request();
return $this->json_to_array($this->resultMsg, true);
}

/**
* 取發送記錄
*
* @return array
*/
public function getQuery() {
//參數
$this->smsParams = [
'ac' => 'query',
];
$this->resultMsg = $this->request();
return $this->json_to_array($this->resultMsg, true);
}

/**
* 發送HTTP請求
* @return string
*/
private function request()
{
$params = array_merge($this->publicParams(),$this->smsParams);
if( function_exists('curl_init') )
{
return $this->curl_request($this->apiURL,$params);
}
else
{
return $this->file_get_request($this->apiURL,$params);
}
}
/**
* 通過CURL發送HTTP請求
* @param string $url //請求URL
* @param array $postFields //請求參數
* @return string
*/
private function curl_request($url,$postFields){
$postFields = http_build_query($postFields);
//echo $url.'?'.$postFields;
$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_POST, 1 );
curl_setopt ( $ch, CURLOPT_HEADER, 0 );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $ch, CURLOPT_URL, $url );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $postFields );
$result = curl_exec ( $ch );
curl_close ( $ch );
return $result;
}
/**
* 通過file_get_contents發送HTTP請求
* @param string $url //請求URL
* @param array $postFields //請求參數
* @return string
*/
private function file_get_request($url,$postFields)
{
$post='';
while (list($k,$v) = each($postFields))
{
$post .= rawurlencode($k)."=".rawurlencode($v)."&"; //轉URL標準碼
}
return file_get_contents($url.'?'.$post);
}
/**
* 獲取當前HTTP請返回信息
* @return string
*/
public function getResult()
{
$this->resultMsg;
}
/**
* 獲取隨機位數數字
* @param integer $len 長度
* @return string
*/
public function randNumber($len = 6)
{
$chars = str_repeat('0123456789', 10);
$chars = str_shuffle($chars);
$str = substr($chars, 0, $len);
return $str;
}
//url轉碼
function json_urlencode($p)
{
if( is_array($p) )
{
foreach( $p as $key => $value )$p[$key] = $this->json_urlencode($value);
}
else
{
$p = urlencode($p);
}
return $p;
}

//把json字符串轉數組
function json_to_array($p)
{
if( mb_detect_encoding($p,array('ASCII','UTF-8','GB2312','GBK')) != 'UTF-8' )
{
$p = iconv('GBK','UTF-8',$p);
}
return json_decode($p, true);
}
}

?>


PHP短信接口示例
(*^▽^*)MG凯蒂卡巴拉技巧介绍 今天体彩p3开奖号 重庆快乐10分开奖直播 民间现实二人麻将玩法 广东闲来麻将怎么发现开挂 皇冠娱乐城官方网站-点击进入 陕西11选5历史开奖结果查询结果 上海电气股票走势 四人麻将桌 中国竞猜 体彩p5走势图 贵州11选5前3组选 湖南快乐十分开奖实况 不用注册下载玩在线棋牌游戏 新疆时时彩预测分析 ag新二网手机版老虎 大乐透5十2准确预测