<?php
class YmSmsAPI
{
private $app_id = ''; //appid
private $secret_key = ''; //密钥
private $address = 'http://bjksmtn.b2m.cn'; //接口地址
private $sms_send_url = '/simpleinter/sendSMS'; //发送短信接口
function http_request($url, $data)
{
print_r($url);
print_r(END);
print_r($data);
print_r(END);
$data = http_build_query($data);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
$output = curl_exec($curl);
curl_close($curl);
print_r($output);
return $output;
}
function signmd5($app_id,$secret_key,$timestamp){
return md5($app_id.$secret_key.$timestamp);
}
/**
* 发送短信验证码
* @param string $app_id 用户appId
* @param string $timestamp 时间格式yyyyMMddHHmmss
* @param string $sign 签名md5(appId+ secretKey + timestamp)32位
* @param string $mobile 手机号
* @param string $content 短信内容
* @param string $timerTime 定时发送时间,若不填即时发送
* @param string $customSmsId 自定义消息id
* @param string $extendedCode 扩展码(最长12位)
* @return array
*/
function sendSMS($mobile,$code)
{
$app_id = $this->app_id;
$secret_key = $this->secret_key;
$address = $this->address;
$sms_send_url = $this->sms_send_url;
$content = "您的短信验证码为".$code.",10分钟内有效";/* 短信内容请以商务约定的为准,如果已经在通道端绑定了签名,则无需在这里添加签名 */
$timestamp = date("YmdHis");
$sign = $this->signmd5($app_id,$secret_key,$timestamp);
// 如果您的系统环境不是UTF-8,需要转码到UTF-8。如下:从gb2312转到了UTF-8
// $content = mb_convert_encoding( $content,"UTF-8","gb2312");
// 另外,如果包含特殊字符,需要对内容进行urlencode
$data = array(
"appId" => $app_id,
"timestamp" => $timestamp,
"sign" => $sign,
"mobiles" => $mobile,
"content" => $content,
"customSmsId" => "",
"timerTime" => "",
"extendedCode" => ""
);
$url = $address.$sms_send_url;
$resobj = http_request($url, $data);
return $resobj;
}
/**
* 获取上行接口
*/
function getMo()
{
$app_id = $this->app_id;
$secret_key = $this->secret_key;
$address = $this->address;
$sms_send_url = $this->sms_send_url;
$timestamp = date("YmdHis");
$sign = $this->signmd5($app_id,$secret_key,$timestamp);
$data = array(
"appId" => $app_id,
"timestamp" => $timestamp,
"sign" => $sign,
"number" => "300"
);
$url = $address.$sms_send_url;
$resobj = http_request($url, $data);
return $resobj;
}
/**
* 获取余额接口
*/
function getBalance()
{
$app_id = $this->app_id;
$secret_key = $this->secret_key;
$address = $this->address;
$sms_send_url = $this->sms_send_url;
$timestamp = date("YmdHis");
$sign = $this->signmd5($app_id,$secret_key,$timestamp);
$data = array(
"appId" => $app_id,
"timestamp" => $timestamp,
"sign" => $sign
);
$url = $address.$sms_send_url;
$resobj = http_request($url,$data);
return $resobj;
}
}