新用戶注冊(cè)場(chǎng)景解決方案
在用戶注冊(cè)驗(yàn)證手機(jī)號(hào)環(huán)節(jié)挠铲,用戶可能會(huì)遇到以下主要問題:
產(chǎn)生原因
因用戶退訂、投訴寂诱、運(yùn)營(yíng)商通道故障拂苹、通道擁堵、用戶手機(jī)問題等因素痰洒,導(dǎo)致一部分客戶無法收到驗(yàn)證碼短信瓢棒,從而影響貴公司的推廣轉(zhuǎn)化浴韭。
不利后果
新注冊(cè)用戶收不到驗(yàn)證碼短信,會(huì)產(chǎn)生如下影響:
因用戶收不到注冊(cè)驗(yàn)證短信導(dǎo)致客戶流失脯宿;
部分收不到短信的用戶念颈,會(huì)向公司客服反饋,增加售后工作壓力嗅绰;
對(duì)公司品牌的認(rèn)可度降低舍肠。
解決方案
為了最大限度的提升驗(yàn)證碼短信的到達(dá)率,無線驗(yàn)證碼短信接口還提供如下增值服務(wù):
失敗自動(dòng)補(bǔ)發(fā):實(shí)時(shí)偵測(cè)短信送達(dá)狀態(tài)窘面,如遇失敗翠语,系統(tǒng)實(shí)時(shí)自動(dòng)使用另一條短信通道進(jìn)行補(bǔ)發(fā);
異常自動(dòng)補(bǔ)發(fā):針對(duì)某些特殊情況财边,如遇客戶未在10秒內(nèi)(時(shí)間可設(shè)置)收到注冊(cè)驗(yàn)證短信肌括,系統(tǒng)會(huì)自動(dòng)調(diào)用另外一條短信通道重發(fā)一條;
語音自動(dòng)補(bǔ)呼:可設(shè)置用戶在第三次點(diǎn)擊獲取驗(yàn)證碼短信按鈕時(shí)酣难,系統(tǒng)以電話語音的方式給客戶播報(bào)驗(yàn)證碼數(shù)字谍夭。
短信接口開發(fā)流程
已封裝的成熟的短信接口,讓您最快可以在15分鐘內(nèi)完成接入
* 接口類型:觸發(fā)短信接口憨募,支持發(fā)送驗(yàn)證碼短信紧索、訂單通知短信,節(jié)日祝福等菜谣。
* 賬戶注冊(cè):請(qǐng)通過該地址開通賬戶 http://user.ihuyi.com/?exClaO
* 注意事項(xiàng):
*(1)調(diào)試期間珠漂,請(qǐng)使用用系統(tǒng)默認(rèn)的短信內(nèi)容:您的驗(yàn)證碼是:【變量】。請(qǐng)不要把驗(yàn)證碼泄露給其他人尾膊。
*(2)請(qǐng)使用 用戶名 及 APIkey來調(diào)用接口媳危,APIkey在會(huì)員中心可以獲取冈敛;
*(3)該代碼僅供接入短信接口參考使用待笑,客戶可根據(jù)實(shí)際需要自行編寫;
/開啟SESSION
session_start();
header("Content-type:text/html; charset=UTF-8");
//請(qǐng)求數(shù)據(jù)到短信接口抓谴,檢查環(huán)境是否 開啟 curl init暮蹂。
function Post($curlPost,$url){
? ? ? ? $curl = curl_init();
? ? ? ? curl_setopt($curl, CURLOPT_URL, $url);
? ? ? ? curl_setopt($curl, CURLOPT_HEADER, false);
? ? ? ? curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
? ? ? ? curl_setopt($curl, CURLOPT_NOBODY, true);
? ? ? ? curl_setopt($curl, CURLOPT_POST, true);
? ? ? ? curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);
? ? ? ? $return_str = curl_exec($curl);
? ? ? ? curl_close($curl);
? ? ? ? return $return_str;
}
//將 xml數(shù)據(jù)轉(zhuǎn)換為數(shù)組格式。
function xml_to_array($xml){
? ? $reg = "/<(\w+)[^>]*>([\\x00-\\xFF]*)<\\/\\1>/";
? ? if(preg_match_all($reg, $xml, $matches)){
? ? ? ? $count = count($matches[0]);
? ? ? ? for($i = 0; $i < $count; $i++){
? ? ? ? $subxml= $matches[2][$i];
? ? ? ? $key = $matches[1][$i];
? ? ? ? ? ? if(preg_match( $reg, $subxml )){
? ? ? ? ? ? ? ? $arr[$key] = xml_to_array( $subxml );
? ? ? ? ? ? }else{
? ? ? ? ? ? ? ? $arr[$key] = $subxml;
? ? ? ? ? ? }
? ? ? ? }
? ? }
? ? return $arr;
}
//random() 函數(shù)返回隨機(jī)整數(shù)癌压。
function random($length = 6 , $numeric = 0) {
? ? PHP_VERSION < '4.2.0' && mt_srand((double)microtime() * 1000000);
? ? if($numeric) {
? ? ? ? $hash = sprintf('%0'.$length.'d', mt_rand(0, pow(10, $length) - 1));
? ? } else {
? ? ? ? $hash = '';
? ? ? ? $chars = 'ABCDEFGHJKLMNPQRSTUVWXYZ23456789abcdefghjkmnpqrstuvwxyz';
? ? ? ? $max = strlen($chars) - 1;
? ? ? ? for($i = 0; $i < $length; $i++) {
? ? ? ? ? ? $hash .= $chars[mt_rand(0, $max)];
? ? ? ? }
? ? }
? ? return $hash;
}
//短信接口地址
$target = "http://106.ihuyi.com/webservice/sms.php?method=Submit";
//獲取手機(jī)號(hào)
$mobile = $_POST['mobile'];
//獲取驗(yàn)證碼
$send_code = $_POST['send_code'];
//生成的隨機(jī)數(shù)
$mobile_code = random(4,1);
if(empty($mobile)){
? ? exit('手機(jī)號(hào)碼不能為空');
}
//防用戶惡意請(qǐng)求
if(empty($_SESSION['send_code']) or $send_code!=$_SESSION['send_code']){
? ? exit('請(qǐng)求超時(shí)椎侠,請(qǐng)刷新頁面后重試');
}
$post_data = "account=用戶名&password=密碼&mobile=".$mobile."&content=".rawurlencode("您的驗(yàn)證碼是:".$mobile_code."。請(qǐng)不要把驗(yàn)證碼泄露給其他人措拇。");
//查看用戶名 登錄用戶中心->驗(yàn)證碼通知短信>產(chǎn)品總覽->API接口信息->APIID
//查看密碼 登錄用戶中心->驗(yàn)證碼通知短信>產(chǎn)品總覽->API接口信息->APIKEY
$gets =? xml_to_array(Post($post_data, $target));
if($gets['SubmitResult']['code']==2){
? ? $_SESSION['mobile'] = $mobile;
? ? $_SESSION['mobile_code'] = $mobile_code;
}
echo $gets['SubmitResult']['msg'];