DEMO:Message/XSend
原文链接
概览
加密签名计算方法请参考createSignature.php。
代码示列
<?php
/*****************
* 非加密请求 示例代码
******************/
//appid参数 appkey参数在 短信-创建/管理AppID中获取
//手机号支持单个
//模板ID 短信-创建/管理短信模板中获得
//短信模板对应变量
// 若模板为:【SUBMAIL】您的验证码是@var(code),请在@var(time)内输入。短信模板对应变量如下
// 变量名和自定义内容相对应即可
$appid = '6***3'; //appid参数
$appkey = '5d****************************58'; //appkey参数
$to = '150********'; //收信人 手机号码
$project_id = 'F***U'; //模板ID
$vars = json_encode(array( //模板对应变量
'code' => '1111',
'time' => '三分钟'
));
$post_data = array(
"appid" => $appid,
"signature" => $appkey,
"to" => $to,
"project" => $project_id,
"vars" => $vars
);
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => 'https://api.mysubmail.com/message/xsend.json',
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $post_data
));
$output = curl_exec($ch);
curl_close($ch);
echo json_encode($output);
/*****************
* 加密请求 示例代码
******************/
//appid参数 appkey参数在 短信-创建/管理AppID中获取
//手机号支持单个
//模板ID 短信-创建/管理短信模板中获得
//短信模板对应变量
// 若模板为:【SUBMAIL】您的验证码是@var(code),请在@var(time)内输入。短信模板对应变量如下
// 变量名和自定义内容相对应即可
$appid = '6***3'; //appid参数
$appkey = '5d****************************58'; //appkey参数
$to = '150********'; //收信人 手机号码
$project_id = 'F***U'; //模板ID
$vars = json_encode(array( //模板对应变量
'code' => '1111',
'time' => '三分钟'
));
//通过接口获取时间戳
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => 'https://api.mysubmail.com/service/timestamp.json',
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_POST => 0
));
$output = curl_exec($ch);
curl_close($ch);
$output = json_decode($output, true);
$timestamp = $output['timestamp'];
$post_data = array(
"appid" => $appid,
"to" => $to,
"project" => $project_id,
"timestamp" => $timestamp,
"sign_type" => 'md5',
"sign_version" => 2,
"vars" => $vars ,
);
//整理生成签名所需参数
$temp = $post_data;
unset($temp['vars']);
ksort($temp);
reset($temp);
$tempStr = "";
foreach ($temp as $key => $value) {
$tempStr .= $key . "=" . $value . "&";
}
$tempStr = substr($tempStr, 0, -1);
//生成签名
$post_data['signature'] = md5($appid . $appkey . $tempStr . $appid . $appkey);
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => 'https://api.mysubmail.com/message/xsend.json',
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $post_data
));
$output = curl_exec($ch);
curl_close($ch);
echo json_encode($output);
|