佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > 微信公眾號(hào)之主動(dòng)給用戶發(fā)送消息功能

微信公眾號(hào)之主動(dòng)給用戶發(fā)送消息功能

熱門標(biāo)簽:銀行業(yè)務(wù) Linux服務(wù)器 團(tuán)購網(wǎng)站 服務(wù)器配置 阿里云 電子圍欄 Mysql連接數(shù)設(shè)置 科大訊飛語音識(shí)別系統(tǒng)

前一段時(shí)間項(xiàng)目中遇到一個(gè)稍微麻煩一點(diǎn)的問題。

即客戶要求,他在后臺(tái)編輯好文章后要主動(dòng)給每個(gè)用戶都發(fā)送消息,并可以讓用戶點(diǎn)擊直接進(jìn)入文章頁面。

于是乎,當(dāng)時(shí)腦子一熱,想著沒什么大的問題,so easy。模板消息不就得了。

后來在寫代碼的過程中卻發(fā)現(xiàn),并不行。

微信公眾號(hào)中模板消息有很嚴(yán)格的限制。

1.必須有用戶主動(dòng)觸發(fā)事件方可發(fā)送模板消息

2.模板消息一分鐘只能發(fā)送六十條,超過六十條,不好意思。你懂。

于是乎,就想到了另一種方法:群發(fā)消息

但是一看文檔中群發(fā)消息的限制,發(fā)現(xiàn)悲催了

群發(fā)消息服務(wù)號(hào)每個(gè)月最多只能發(fā)送4條。

而客戶要求的是隨時(shí)隨地就能發(fā)送.這個(gè)4條明顯不符合要求的。

怎么辦呢?一度陷入困難之中。只好繼續(xù)查看開發(fā)文檔。

當(dāng)看到客服功能時(shí),突然想到,能不能用客服主動(dòng)給用戶發(fā)送消息呢?

于是乎,想到就去試驗(yàn)下。

首先,先在公眾號(hào)后臺(tái)功能模塊中-》添加功能模塊  添加   客服功能   模塊

如圖所示:

然后就進(jìn)入代碼環(huán)節(jié)了。

先添加客服。也可以公眾號(hào)后臺(tái)添加

//先添加客服
function addkf()
{
 $token = getToken();
 $url = 'https://api.weixin.qq.com/customservice/kfaccount/add?access_token='.$token;
 $data = '{
   "kf_account" : "system@system",
   "nickname" : "客服1",
   "password" : "admin",
 }';
 echo https_request($url,$data);
}

然后就是主動(dòng)發(fā)送消息的方法

//獲取access_token的方法。
function getToken()
{
 $appid = 'appid';
 $appsecret = 'appsecret';
 $token_file = dirname(dirname(__FILE__)).'/data/token.txt';
 if(!file_exists($token_file) || ((time() - filemtime($token_file)) > 7000)){
  $TOKEN_URL="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credentialappid=".$appid."secret=".$appsecret;
  $json=file_get_contents($TOKEN_URL);
  $result=json_decode($json);
  $ACC_TOKEN=$result->access_token;
  file_put_contents($token_file,$ACC_TOKEN);
 }else{
  $ACC_TOKEN = file_get_contents($token_file);
 }
 return $ACC_TOKEN;
}
//調(diào)用發(fā)送方法
function sendmsg($content,$openid)
{
 $token = getToken();
 $url = 'https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token='.$token;
 $content = '感謝你的關(guān)注\n回復(fù)你厲害 \n例如a href=\"http://www.baidu.com\">回復(fù)123456/a>';
 $data = '{
  "touser":"'.$openid.'",
  "msgtype":"text",
  "text":
  {
    "content":"'.$content.'"
  }
 }';
 https_request($url,$data);
 return true;
}
/**
 * request 請(qǐng)求
 */
function https_request($url, $data = null){
 $curl = curl_init();
 curl_setopt($curl, CURLOPT_URL, $url);
 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
 if (!empty($data)){
  curl_setopt($curl, CURLOPT_POST, 1);
  curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
 }
 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
 $output = curl_exec($curl);
 curl_close($curl);
 return $output;
}

使用的時(shí)候直接調(diào)用 sendmsg()方法傳值就可以了。

最后上完成的圖

如圖所示,公眾號(hào)可以給用戶發(fā)送消息,而且發(fā)送的內(nèi)容你可以使用html 標(biāo)簽哦

雖然這樣感覺很方便,但是同樣,微信公眾平臺(tái)對(duì)此也有限制。

1.用戶必須關(guān)注公眾號(hào),方可收到信息。

2.用戶只能連續(xù)收到   20   條客服消息。超過后用戶就收不到消息,

超過后,用戶必須   主動(dòng)給公眾號(hào)發(fā)送消息  ?;蛘?nbsp; 點(diǎn)擊菜單欄,這樣20條消息的限制就會(huì)重置。

總結(jié)

以上所述是小編給大家介紹的微信公眾號(hào)之主動(dòng)給用戶發(fā)送消息功能,希望對(duì)大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!

您可能感興趣的文章:
  • java微信公眾號(hào)發(fā)送消息模板
  • python實(shí)現(xiàn)給微信公眾號(hào)發(fā)送消息的方法

標(biāo)簽:萍鄉(xiāng) 大理 廣元 衢州 江蘇 棗莊 蚌埠 衡水

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《微信公眾號(hào)之主動(dòng)給用戶發(fā)送消息功能》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    镇宁| 钟山县| 阳城县| 田阳县| 中牟县| 湖南省| 平舆县| 会昌县| 西乌| 天津市| 郓城县| 奎屯市| 曲松县| 阿拉善盟| 云霄县| 商丘市| 龙里县| 大竹县| 英山县| 精河县| 库车县| 马边| 民勤县| 三门县| 大冶市| 扬中市| 永康市| 岚皋县| 荆门市| 秦安县| 龙川县| 阿拉善盟| 麻江县| 宜良县| 昭通市| 双峰县| 奎屯市| 上杭县| 常宁市| 盐亭县| 湘潭县|