當前位置:首頁 » 編程語言 » 微信模板消息php

微信模板消息php

發布時間: 2023-03-26 04:15:45

1. 微信小程序 實現模板消息群發、發送給指定用戶

最近在做一款拼課類小程序,大概需求就是分享課程頁面給好友,好友參與達到一定數量後則拼課成功。

按理說很平常的需求,微信公眾號里邊應該很容易實現拆配,但是想在小程序里邊實現這么個功能卻有點蛋疼了。

為什麼小程序實現起來比較費勁呢,那就要說下小程序發送模板消息的機制了,先看文檔怎麼說:

劃重點, 本人 、 交互 ,也就是說這個模板消息,必須由用戶手動來觸發,你想後台定時給用戶推個消息,洗洗睡吧你。
再來看下面:

這個重點你們自己劃吧,發模板消息必須滿足這兩種情況中的一種,支付就不說了,用戶付款後可以推送幾條消息,重點是這個 表單提交 。
意思就是我想給用戶發個模板消息,第一要搞個表單,第二要讓用戶來提交這個表單(獲取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實現,小夥伴可以幫忙弄下。

2. php 微信模板消息 5000人的推送

1、php+redis 消息隊列
2、swoole非同步執行
想玩並發的話,php 的話除了 pcntl_fork 多個進程跑腳本,本身有批處理的模塊,可以用 curl_multi_* 批量發送

3. 求微信公眾號介面 給客戶發送信息的 PHP代碼

你好,可以用客服消息介面或模板消息介面實現。但是需要認證公眾號才能有許可權。


認證服務號可以發送客服介面消息[需要對應openid24小時內有互動]和模板消息,訂閱號則沒有模板消息許可權。


發送文字消息示例:

$postdata='{"touser":"o5BkRs_vRwfPqAb1ceXHfJDzmQ5o","msgtype":"text","text":{"content":"HelloWorld"}}';
$opts=array(
'http'=>array(
'method'=>'POST',
'Content-Length'=>strlen($postdata),
'Host'=>'api.weixin.qq.com',
'Content-Type'=>'application/json',
'content'=>$postdata
)
);
$context=stream_context_create($opts);
$result=file_get_contents('https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=你的access_token',true,$context);
echo$result;

4. php發送1000條微信模板消息萬多久

幾分鍾。
用swoole,循環task,就可以發送1000條微蘆畝蔽慶信了,不需要耗費太長的時間陪並森,如果操作熟練的話,短短幾秒鍾也是有可能的。
消息的發送速度主要看你的操作熟練程度了,新手的話會稍微的慢一些,大概會花費幾分鍾的時間的。

5. PHP 同一時間 發送10W-100W微信模板消息,怎麼解決速度上與穩定性...

用swoole,循環task 10w就6,7分鍾吧

6. 幫忙寫個微信公眾平台模板消息範例 PHP

如圖所示:openidid改成你自己的,介面URL改下,由於網路不等發鏈接

<?php
$access_token='_e8';
$url='改成介面URL?access_token='.$access_token;//access_token改成你的有效值

$data=array(
'first'=>array(
'value'=>'有一名客戶進行了一次預約!',
'color'=>'#FF0000'
),
'keyword1'=>array(
'value'=>'2015/10/514:00~14:45',
'color'=>'#FF0000'
),
'keyword2'=>array(
'value'=>'都會型告備坦SPA',
'color'=>'#FF0000'
),
'keyword3'=>array(
'value'=>'1cvvvv',
'color'=>'#FF0000'
),
'keyword4'=>array(
滾基'value'=>'上海市浦東新區XXXXSPA館',
'color'=>'#FF0000'
),
'keyword5'=>array(
'value'=>'無',
'color'=>'#FF0000'
),
'remark'=>array(
'value'=>'請您務必准時到場為客戶提供SPA服務!',
'color'=>'#FF0000'
)
);
$template_msg=array('touser'=>'ojM5us46feM315cpmfQ9hAWfX8rE','template_id'=>'','topcolor'=>'#FF0000','data'=>$data);

$curl=curl_init($url);
$header=array();
$header[]='Content-Type:application/x-www-form-urlencoded';
curl_setopt($curl,CURLOPT_HTTPHEADER,$header);
//不輸出header頭信息
curl_setopt($curl,CURLOPT_HEADER,0);
//襪桐偽裝瀏覽器
curl_setopt($curl,CURLOPT_USERAGENT,'Mozilla/5.0(WindowsNT6.1)AppleWebKit/537.36(KHTML,likeGecko)Chrome/41.0.2272.118Safari/537.36');
//保存到字元串而不是輸出
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
//post數據
curl_setopt($curl,CURLOPT_POST,1);
//請求數據
curl_setopt($curl,CURLOPT_POSTFIELDS,json_encode($template_msg));
$response=curl_exec($curl);
curl_close($curl);
echo$response;

7. php 推送微信公眾號模板消息

很簡單,謹中根據自己的控制器去調用類中的 cash_message( data)方法 openid就是微信的openid
data是需睜晌喊要推送悉野的信息

8. 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;

}

詳情請參考微信公眾平台技術文檔->模板消息介面

9. 微信公眾號模板消息無法跳轉到指定小程序頁面

最近做了一個需求在公眾號網頁推送的模板消息,連接跳轉到關聯小程序,遇到總是跳轉到首頁的問題。說一下裡面的坑

後端是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 (不改會報錯!)

再發送消息就可以正常接收並跳轉到指定小程序頁面啦!下面是我的構造的正確的多維數組格式

10. php微信模版消息為什麼收到空白

首先謹昌你得先在後台里建立自己的模版消息,然後通過設置好的模版消息進行對應的操作

操作的步驟為以下幾個步驟:

1 設置所屬行業

2 獲取設置的行業信息

3 獲得模板ID

4 獲取模板祥局扒列表

5 刪除模板

6 發送模板消息

7 事件推送

在調用模板消息介面後,會返回JSON數據包。正常時的返回JSON數據包示例:

{
"errcode":0,
臘伍"errmsg":"ok",
"msgid":200228332
}

當返回的消息中errocde為0且返回了errmsg為OK和msgid後才說明發送的消息模版成功了

熱點內容
資料庫索引結構 發布:2024-11-03 04:02:14 瀏覽:234
xcode加密 發布:2024-11-03 03:53:45 瀏覽:225
演算法設計王曉東pdf 發布:2024-11-03 03:38:51 瀏覽:20
本地資料庫伺服器 發布:2024-11-03 03:33:07 瀏覽:331
方舟搭建伺服器多少內存 發布:2024-11-03 03:33:07 瀏覽:525
android全屏代碼 發布:2024-11-03 03:30:12 瀏覽:848
鍵入憑據存儲的密碼 發布:2024-11-03 03:30:01 瀏覽:721
設置密碼字元怎麼設置 發布:2024-11-03 03:22:50 瀏覽:26
腳本戰士是什麼意思 發布:2024-11-03 03:22:39 瀏覽:872
php的mysql擴展 發布:2024-11-03 03:22:01 瀏覽:394