php微信模板消息
A. php發送1000條微信模板消息萬多久
幾分鍾。
用swoole,循環task,就可以發送1000條微蘆畝蔽慶信了,不需要耗費太長的時間陪並森,如果操作熟練的話,短短幾秒鍾也是有可能的。
消息的發送速度主要看你的操作熟練程度了,新手的話會稍微的慢一些,大概會花費幾分鍾的時間的。
B. 微信公眾號模板消息無法跳轉到指定小程序頁面
最近做了一個需求在公眾號網頁推送的模板消息,連接跳轉到關聯小程序,遇到總是跳轉到首頁的問題。說一下裡面的坑
後端是PHP進 行消息發送 官方發送數據例子如下:
最開始 為了構造一個json數據格式,
第一步:我是先把 數據構造成一個多維數組 $arr,
第二步:$json_data = json_encode($arr),然後再 $json = urldecode($json_data);
第三步:再然後 就是 通過 curl_init 進行發送了,這里不再詳述。
接下來有個坑,發送不成功,錯誤信息 如下
{「errcode」:40165,「errmsg」:"invalid weapp pagepath}
網路下,很快有了答案,說慧困官方文檔有誤,把 pagepath 改為 path 即可,我試了下,果然可以,消息推送正常,開心壞了!
奇怪的事情發生了,點擊推送消息後沒有跳轉到小程序指定頁面,一直是首頁!
然後網路搜索各種答案,有說 路徑參數名,改為 page(試了下居然可以),有的說 為 pagepath(這不是剛跳出來的坑嗎?為啥別人居然可以成功發送?)
經過各種測試終於發現問題所在,第二步有問題!json_encode() 把原來數組中的路徑 斜杠轉義了! 'pages/auth/auth?id=6' 變成了 'pages\/auth\/auth?id=6' 難怪輪碧螞找不到路徑!
後來看了下手冊,有防止 json_encode() 轉義 斜杠的參數
JSON_UNESCAPED_SLASHES (不轉義斜杠,對應的臘埋數字 64)
然後把第二步 改為 $json_data = json_encode($arr, JSON_UNESCAPED_SLASHES )
還得把 頁面參數由 path 改為 pagepath (不改會報錯!)
再發送消息就可以正常接收並跳轉到指定小程序頁面啦!下面是我的構造的正確的多維數組格式
C. php如何編寫一個微信公眾平台的消息推送
給你個代碼樣例不可以直接復制使用
/**
*發送模板消息
*@param$tmpId模板ID
*@param$openId用戶openID
*@param$param模板參數
*@param$url
*@returnmixed
*@authorfjlhuman
*/
publicfunctionsendTmpMessage($tmpId,$openId,$param,$url){
$postUrl="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".$this->accessToken;
$arrData['touser']=$openId;
$arrData['template_id']=$tmpId;//'6OT8DDNF-CbiadTsbEKKSCZVHe_9hnhxOBT7EvURNcE';
$arrData['url']=$url;
$arrData['data']=$param;
$json=json_encode($arrData);
$result=Curl::post($postUrl,$json);
$result=json_decode($result,true);
$rData['isTure']=false;
$rData['msg']="";
if($result['errcode']==0){
$rData['isTure']=true;
$rData['msg']="發送成功";
}else{
$rData['msg']=$result['errcode'];
}
return$rData;
}
詳情請參考微信公眾平台技術文檔->模板消息介面
D. 微信小程序 實現模板消息群發、發送給指定用戶
最近在做一款拼課類小程序,大概需求就是分享課程頁面給好友,好友參與達到一定數量後則拼課成功。
按理說很平常的需求,微信公眾號里邊應該很容易實現拆配,但是想在小程序里邊實現這么個功能卻有點蛋疼了。
為什麼小程序實現起來比較費勁呢,那就要說下小程序發送模板消息的機制了,先看文檔怎麼說:
劃重點, 本人 、 交互 ,也就是說這個模板消息,必須由用戶手動來觸發,你想後台定時給用戶推個消息,洗洗睡吧你。
再來看下面:
這個重點你們自己劃吧,發模板消息必須滿足這兩種情況中的一種,支付就不說了,用戶付款後可以推送幾條消息,重點是這個 表單提交 。
意思就是我想給用戶發個模板消息,第一要搞個表單,第二要讓用戶來提交這個表單(獲取formId),而且這個模板消息還只能發給提交表單的用戶本人,你想發給別的用戶,呵呵。
好了,說多了都是氣,既然這樣設計,也是有一定道理,但是道理都是講給守規矩的人聽的,至於不守規矩的,喂!說的就是你。
通過上面的分析我們知道,想發送一個基本的模板消息需要以下步驟:
模板消息介面 POST https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN 有這么幾個參數 :
前面扯了一堆概念,下面我們來把這個功能具體的實現一遍吧,我這里後台用的是php laravel,原理都一樣。
我這只寫一個例子,一看就明白
有些時候用戶操作頻繁,可能會導致伺服器收到大量請求,所以可以優化下,把formId先存到一個全局變數里邊(數組),當達到一定數量後統一發給後台來保存。這塊可以靈活運用。
服務端的實現也就兩個功能, 收集 和 發送 。
假設我們現在有這么一個類FormIdCollection,可以收集(save)和獲取(get)某個openid的formId,那我們給前台暴露的api只需要簡單的調用下就可以了,至於發消息,也只需要get一個formId,即可。
下面是FormIdCollection類的一個具體實現,基於laravel(說實話,挺好用的),另外引芹御謹入了一個微信開發包 overtrue/wechat (這里主要是用嫌基來發模板消息、有點大材小用了), https://www.easywechat.com/
我已經封裝了一個laravel擴展包,感興趣的朋友可以上github上看下 https://github.com/laravuel/laravel-wfc 。
至於非框架的php實現,小夥伴可以幫忙弄下。
E. php微信模版消息為什麼收到空白
首先謹昌你得先在後台里建立自己的模版消息,然後通過設置好的模版消息進行對應的操作
操作的步驟為以下幾個步驟:
1 設置所屬行業
2 獲取設置的行業信息
3 獲得模板ID
4 獲取模板祥局扒列表
5 刪除模板
6 發送模板消息
7 事件推送
在調用模板消息介面後,會返回JSON數據包。正常時的返回JSON數據包示例:
{
"errcode":0,
臘伍"errmsg":"ok",
"msgid":200228332
}
當返回的消息中errocde為0且返回了errmsg為OK和msgid後才說明發送的消息模版成功了
F. php 推送微信公眾號模板消息
很簡單,謹中根據自己的控制器去調用類中的 cash_message( data)方法 openid就是微信的openid
data是需睜晌喊要推送悉野的信息