怎樣開啟小程式客服功能
怎麼開啟小程式客服功能
#開啟自訂的小程式的客服功能,需要兩步,
#第一步:在自己的微信平台開通訊息推送的功能
具體的在官方wiki裡有https://developers.weixin.qq.com/miniprogram/ introduction/custom.html#填寫訊息推送設定
第二步:完成自己的後台
前提:你的伺服器可以被微信存取。
流程:用戶出發某個事件後,向微信伺服器發送資料包,如果你開啟訊息推送服務(第一步),那麼微信伺服器會進行資料的處理轉發,具體的格式是xml還是json取決於你在微信後台的選擇,我這裡選擇的json,微信通過主動調用你的接口將數據包返回給你,如果你想向用戶響應某個信息,需要某個接口向微信服務器發送你的回應資料包,裡麵包含客服的openid.具體的詳情看代碼。
<?php header('Content-type:text'); define("TOKEN", "mytoken"); class Mini extends Controller{ private $appid = ''; private $secret = ''; public function check(){ //校验服务器地址URL if (isset($_GET['echostr'])) { $this->valid(); }else{ $this->responseMsg(); } } public function valid() { $echoStr = $_GET["echostr"]; if($this->checkSignature()){ header('content-type:text'); echo $echoStr; exit; }else{ echo $echoStr.'+++'.TOKEN; exit; } } private function checkSignature() { $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $token = TOKEN; $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr, SORT_STRING); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr ); if( $tmpStr == $signature ){ return true; }else{ return false; } } public function responseMsg() { $postStr = file_get_contents('php://input');//因为我的环境是php7 if (!empty($postStr) && is_string($postStr)){ $postArr = json_decode($postStr,true); if(!empty($postArr['MsgType']) && $postArr['MsgType'] == 'text'){ //文本消息 $fromUsername = $postArr['FromUserName']; //发送者openid $toUserName = $postArr['ToUserName']; //小程序id $textTpl = array( "ToUserName"=>$fromUsername, "FromUserName"=>$toUserName, "CreateTime"=>time(), "MsgType"=>"transfer_customer_service", ); exit(json_encode($textTpl)); }elseif(!empty($postArr['MsgType']) && $postArr['MsgType'] == 'image'){ //图文消息 $fromUsername = $postArr['FromUserName']; //发送者openid $toUserName = $postArr['ToUserName']; //小程序id $textTpl = array( "ToUserName"=>$fromUsername, "FromUserName"=>$toUserName, "CreateTime"=>time(), "MsgType"=>"transfer_customer_service", ); exit(json_encode($textTpl)); }elseif($postArr['MsgType'] == 'event' && $postArr['Event']=='user_enter_tempsession'){ $fromUsername = $postArr['FromUserName']; $data = array( "touser"=>$fromUsername, "msgtype"=>"link", "link"=>[ "title"=>'this is title', "description"=> "Is Really A Happy Day", "url":=>"URL", "thumb_url"=>"THUMB_URL" ] ); $json = json_encode($data,JSON_UNESCAPED_UNICODE); $access_token = $this->get_accessToken(); $url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=".$access_token; //将数据返给微信服务器进行转发。 $this->curl_post($url,$json); }else{ exit('aaa'); } }else{ echo ""; exit; } } public function get_accessToken(){ if(cache('access_token')){ return cache('access_token'); } /* 不在有效期,重新发送请求,获取access_token */ else{ $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$this->appid}&secret={$this->secret}"; $result = curl_get_https($url); $res = json_decode($result,true); //json字符串转数组 if($res){ cache('access_token',$res['access_token'],7100); return cache('access_token'); }else{ return 'api return error'; } } } /** * @Author callmelx * @DateTime 2018-10-06 * @return [type] [description] */ public function curl_post($url,$data=''){ $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); if (!empty($data)){ curl_setopt($curl, CURLOPT_POSTFIELDS,$data); } curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //curl_setopt($curl, CURLOPT_HTTPHEADER, $headers ); $output = curl_exec($curl); if (curl_errno($curl)) { echo 'Errno'.curl_error($curl);//捕抓异常 } curl_close($curl); if($output == 0){ echo 'success';exit; } } }
有幾個坑要注意一下,如果你的token驗證總是失敗:
1.建議你看一下自己server伺服器的token 與現在的token是否相同。
2.如果你發現自己的程式碼絕對沒有問題,token也絕對沒有問題的話,而且還是報錯,那麼我建議檢查一下自己伺服器的檔案的權限問題了,如果你是tp框架,檢查一下啊自己的runtime是否給了777,如果你是給755的話可能還是不會起作用。
推薦學習:小程式開發
以上是怎樣開啟小程式客服功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

公司安全軟件導致部分應用無法正常運行的排查與解決方法許多公司為了保障內部網絡安全,會部署安全軟件。 ...

H5、小程序和APP的主要區別在於:技術架構:H5基於網頁技術,小程序和APP為獨立應用程序。體驗和功能:H5輕便易用,功能受限;小程序輕量級,交互性好;APP功能強大,體驗流暢。兼容性:H5跨平台兼容,小程序和APP受平台限制。開發成本:H5開發成本低,小程序中等,APP最高。適用場景:H5適合信息展示,小程序適合輕量化應用,APP適合複雜功能應用。

本文提供國內安全下載歐易OKX App的詳細指南。由於國內應用商店限制,建議用戶通過歐易OKX官方網站下載App,或使用官網提供的二維碼掃描下載。下載過程中,務必核實官網地址,檢查應用權限,安裝後進行安全掃描,並啟用雙重驗證。 使用過程中,請遵守當地法律法規,使用安全網絡環境,保護賬戶安全,警惕詐騙,理性投資。 本文僅供參考,不構成投資建議,數字資產交易風險自負。

公司安全軟件與應用兼容性問題及排查方法許多企業為了保障內網安全,會安裝安全軟件。然而,安全軟件有時...

H5開發工具推薦:VSCode、WebStorm、Atom、Brackets、Sublime Text;小程序開發工具:微信開發者工具、支付寶小程序開發者工具、百度智能小程序IDE、頭條小程序開發者工具、Taro。

本文提供2025年更新的幣安虛擬貨幣買賣簡明指南,詳細講解了在幣安平台上進行虛擬貨幣交易的操作步驟。指南涵蓋了法幣購買USDT、幣幣交易購買其他幣種(如BTC)以及賣出操作,包括市價交易和限價交易兩種方式。 此外,指南還特別提示了法幣交易的支付安全和網絡選擇等關鍵風險,幫助用戶安全、高效地進行幣安交易。 通過本文,您可以快速掌握在幣安平台上買賣虛擬貨幣的技巧,降低交易風險。
