1. 程式人生 > >微信公眾平臺系列-4客服訊息回覆

微信公眾平臺系列-4客服訊息回覆

部分封裝:

<?php
/**
 * Created by PhpStorm.
 * User: wangyetao
 * Date: 18-1-19
 * Time: 下午9:23
 */

namespace Wx\WxUtil\MessageManagement;

/**
 * Class ReplyCustomerServiceNewsTpl.class
 * 主動發客服訊息(48小時,有互動) 訊息JSON模板
 * @package Wx\WxUtil\MessageManagement
 */
class ReplyCustomerServiceNewsTpl {

    /**
     * 1 文字訊息
     * @param $openid
     * @param $content
     * @return json_tpl
     */
    public static function tranTextMsg($openid, $content) {
        $arr = array(
            'touser' => $openid,
            'msgtype' => 'text',
            'text' => array(
                'content' => $content
            ),
        );
        $json_tpl = json_encode($arr,JSON_UNESCAPED_UNICODE);
        return $json_tpl;
    }


    /**
     * 2 圖片訊息
     * @param $openid
     * @param $content
     * @return json_tpl
     */
    public static function tranImageMsg($openid, $media_id) {
        $arr = array(
            'touser' => $openid,
            'msgtype' => 'image',
            'image' => array(
                'media_id' => $media_id
            ),
        );
        $json_tpl = json_encode($arr,JSON_UNESCAPED_UNICODE);
        return $json_tpl;
    }

    /**
     * 3 語音訊息
     * @param $openid
     * @param $media_id
     * @return json_tpl
     */
    public static function tranVoiceMsg($openid, $media_id) {
        $arr = array(
            'touser' => $openid,
            'msgtype' => 'voice',
            'voice' => array(
                'media_id' => $media_id
            ),
        );
        $json_tpl = json_encode($arr,JSON_UNESCAPED_UNICODE);
        return $json_tpl;
    }

    /**
     * 4 視訊訊息
     * @param $openid
     * @param $media_id
     * @param $title
     * @param $description
     * @return json_tpl
     */
    public static function tranVideoMsg($openid, $media_id ,$title, $description) {
        $arr = array(
            'touser' => $openid,
            'msgtype' => 'video',
            'video' => array(
                'media_id' => $media_id,
                'thumb_media_id' => $media_id,
                'title'  => $title,
                'description' => $description
            ),
        );
        $json_tpl = json_encode($arr,JSON_UNESCAPED_UNICODE);
        return $json_tpl;
    }

    /**
     * 5 音樂訊息
     * @param $openid
     * @param $title
     * @param $description
     * @param $musicurl
     * @param $hqmusicurl
     * @param $thumb_media_id
     * @return json_tpl
     */
    public static function tranMusicMsg($openid, $title ,$description, $musicurl,$hqmusicurl,$thumb_media_id) {
        $arr = array(
            'touser' => $openid,
            'msgtype' => 'music',
            'music' => array(
                'title' => $title,
                'description' => $description,
                'musicurl'  => $musicurl,
                'hqmusicurl' => $hqmusicurl,
                'thumb_media_id' => $thumb_media_id
            ),
        );
        $json_tpl = json_encode($arr,JSON_UNESCAPED_UNICODE);
        return $json_tpl;
    }

    /**
     * 6 圖文訊息(點選跳轉到外鏈)
     * @param $openid
     * @param $media_id
     * @return json_tpl
     */
    public static function tranNewsMsg($openid, $articles) {
        $arr = array(
            'touser' => $openid,
            'msgtype' => 'news',
            'news' => array(
                'articles' =>[
                    array(
                        'title' => 'Happy Day',
                        'description' => 'Is Really A Happy Day',
                        'url' => 'URL',
                        'picurl' => 'PIC_URL'
                    ),array(
                        'title' => 'Happy Day',
                        'description' => 'Is Really A Happy Day',
                        'url' => 'URL',
                        'picurl' => 'PIC_URL'
                    )
                ]
            ),
        );
        $json_tpl = json_encode($arr,JSON_UNESCAPED_UNICODE);
        return $json_tpl;
    }

    /**
     * 6.1 中獎用單圖文訊息(點選跳轉到外鏈)
     * @param $openid
     * @param $media_id
     * @return json_tpl
     */
    public static function tranWinningMsg($openid, $articles) {
        $arr = array(
            'touser' => $openid,
            'msgtype' => 'news',
            'news' => array(
                'articles' =>[
                    array(
                        'title' => $articles['title'],
                        'description' => $articles['description'],
                        'url' => $articles['url'],
                        'picurl' => $articles['picurl']
                    )
                ]
            ),
        );
        $json_tpl = json_encode($arr,JSON_UNESCAPED_UNICODE);
        return $json_tpl;
    }

    /**
     * 7 圖文訊息(點選跳轉到圖文訊息頁面)
     * @param $openid
     * @param $media_id
     * @return json_tpl
     */
    public static function tranMpnewsMsg($openid, $media_id) {
        $arr = array(
            'touser' => $openid,
            'msgtype' => 'mpnews',
            'mpnews' => array(
                'media_id' => $media_id
            ),
        );
        $json_tpl = json_encode($arr,JSON_UNESCAPED_UNICODE);
        return $json_tpl;
    }


    /**
     * 8 傳送卡券
     * @param $openid
     * @param $media_id
     * @return json_tpl
     */
    public static function tranWxcardMsg($openid, $card_id) {
        $arr = array(
            'touser' => $openid,
            'msgtype' => 'wxcard',
            'wxcard' => array(
                'card_id' => $card_id
            ),
        );
        $json_tpl = json_encode($arr,JSON_UNESCAPED_UNICODE);
        return $json_tpl;
    }
}
<?php
/**
 * Created by PhpStorm.
 * User: wangyetao
 * Date: 18-1-19
 * Time: 下午8:15
 */

namespace Wx\WxUtil\MessageManagement;
use Wx\WxUtil\Comm\NetUtil;

/**
 * Class CustomerServiceNewsUtil
 * 微信公眾平臺-訊息管理-客服訊息api封裝
 *
 * @package Wx\WxUtil\MessageManagement
 */
class CustomerServiceNewsUtil {

    /**
     * 客服帳號管理-新增客服帳號
     *
     * http請求方式: POST https://api.weixin.qq.com/customservice/kfaccount/add?access_token=ACCESS_TOKEN
     * @param $access_token
     *
     * POST資料示例如下:
     * {
     * "kf_account": "
[email protected]
", * "nickname": "客服1", * "password": "pswmd5" * } * 返回說明(正確時的JSON返回結果): * { * "errcode" : 0, * "errmsg" : "ok" * } * */ public static function customservice_kfaccount_add($access_token) { } /** * 客服帳號管理-修改客服帳號 * * http請求方式: POST https://api.weixin.qq.com/customservice/kfaccount/update?access_token=ACCESS_TOKEN * @param $access_token * * POST資料示例如下: * { * "kf_account": "
[email protected]
", * "nickname": "客服1", * "password": "pswmd5" * } * 返回說明(正確時的JSON返回結果): * { * "errcode" : 0, * "errmsg" : "ok" * } * */ public static function customservice_kfaccount_update($access_token) { } /** * 客服帳號管理-修改客服帳號 * * http請求方式: GET https://api.weixin.qq.com/customservice/kfaccount/del?access_token=ACCESS_TOKEN * @param $access_token * * POST資料示例如下: * { * "kf_account": "[email protected]", * "nickname": "客服1", * "password": "pswmd5" * } * 返回說明(正確時的JSON返回結果): * { * "errcode" : 0, * "errmsg" : "ok" * } * */ public static function customservice_kfaccount_del($access_token) { } /** * 客服帳號管理-設定客服帳號的頭像 * * http請求方式: POST/FORM http://api.weixin.qq.com/customservice/kfaccount/uploadheadimg?access_token=ACCESS_TOKEN&kf_account=KFACCOUNT * 呼叫示例:使用curl命令,用FORM表單方式上傳一個多媒體檔案,curl命令的具體用法請自行了解 * @param $access_token * * 返回說明(正確時的JSON返回結果): * { * "errcode" : 0, * "errmsg" : "ok" * } * */ public static function customservice_kfaccount_uploadheadimg($access_token) { } /** * 客服帳號管理-獲取所有客服賬號 * * http請求方式: GET https://api.weixin.qq.com/cgi-bin/customservice/getkflist?access_token=ACCESS_TOKEN * @param $access_token * * 返回說明(正確時的JSON返回結果): * { * "kf_list": [{ * "kf_account": "[email protected]", * "kf_nick": "ntest1", * "kf_id": "1001", * "kf_headimgurl": " http://mmbiz.qpic.cn/mmbiz/4whpV1VZl2iccsvYbHvnphkyGtnvjfUS8Ym0GSaLic0FD3vN0V8PILcibEGb2fPfEOmw/0" * }, { * "kf_account": "[email protected]", * "kf_nick": "ntest2", * "kf_id": "1002", * "kf_headimgurl": " http://mmbiz.qpic.cn/mmbiz/4whpV1VZl2iccsvYbHvnphkyGtnvjfUS8Ym0GSaLic0FD3vN0V8PILcibEGb2fPfEOmw /0" * }, { * "kf_account": "[email protected]", * "kf_nick": "ntest3", * "kf_id": "1003", * "kf_headimgurl": " http://mmbiz.qpic.cn/mmbiz/4whpV1VZl2iccsvYbHvnphkyGtnvjfUS8Ym0GSaLic0FD3vN0V8PILcibEGb2fPfEOmw /0" * }] * } * */ public static function customservice_getkflist($access_token) { } /** * 客服介面-發訊息 * http請求方式: POST https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN * @param $access_token * @param $data * * 傳送文字訊息 * { * "touser": "OPENID", * "msgtype": "text", * "text": { * "content": "Hello World" * } * } * 傳送文字訊息時,支援插入跳小程式的文字鏈 * 文字內容<a href="http://www.qq.com" data-miniprogram-appid="appid" data-miniprogram-path="pages/index/index">點選跳小程式</a> * * 傳送圖片訊息 * { * "touser":"OPENID", * "msgtype":"image", * "image": * { * "media_id":"MEDIA_ID" * } * } * * 傳送語音訊息 * { * "touser":"OPENID", * "msgtype":"voice", * "voice": * { * "media_id":"MEDIA_ID" * } * } * * 傳送視訊訊息 * { * "touser":"OPENID", * "msgtype":"video", * "video": * { * "media_id":"MEDIA_ID", * "thumb_media_id":"MEDIA_ID", * "title":"TITLE", * "description":"DESCRIPTION" * } * } * * 傳送音樂訊息 * { * "touser":"OPENID", * "msgtype":"music", * "music": * { * "title":"MUSIC_TITLE", * "description":"MUSIC_DESCRIPTION", * "musicurl":"MUSIC_URL", * "hqmusicurl":"HQ_MUSIC_URL", * "thumb_media_id":"THUMB_MEDIA_ID" * } * } * * 傳送圖文訊息(點選跳轉到外鏈) 圖文訊息條數限制在8條以內,注意,如果圖文數超過8,則將會無響應。 * { * "touser":"OPENID", * "msgtype":"news", * "news":{ * "articles": [ * { * "title":"Happy Day", * "description":"Is Really A Happy Day", * "url":"URL", * "picurl":"PIC_URL" * }, * { * "title":"Happy Day", * "description":"Is Really A Happy Day", * "url":"URL", * "picurl":"PIC_URL" * } * ] * } * } * * 傳送圖文訊息(點選跳轉到圖文訊息頁面) 圖文訊息條數限制在8條以內,注意,如果圖文數超過8,則將會無響應。 * { * "touser":"OPENID", * "msgtype":"mpnews", * "mpnews": * { * "media_id":"MEDIA_ID" * } * } * * 傳送卡券 * { * "touser":"OPENID", * "msgtype":"wxcard", * "wxcard":{ * "card_id":"123dsdajkasd231jhksad" * }, * } * * 傳送小程式卡片(要求小程式與公眾號已關聯) * { * "touser":"OPENID", * "msgtype":"miniprogrampage", * "miniprogrampage": * { * "title":"title", * "appid":"appid", * "pagepath":"pagepath", * "thumb_media_id":"thumb_media_id" * } * } * * 成功時的返回: * {"errcode":0,"errmsg":"ok"} * 失敗(超時)的返回: * {"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [64qZfa0551ge30]"} * */ public static function message_custom_send($access_token,$data) { $url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=$access_token"; return NetUtil::httpPost($url,$data); } /** * 客服輸入狀態 * http請求方式: POST https://api.weixin.qq.com/cgi-bin/message/custom/typing?access_token=ACCESS_TOKEN * @param $access_token * * JSON資料包如下: * { "touser":"OPENID", "command":"Typing"} * *預期返回: * { "errcode":0, "errmsg":"ok"} * */ public static function message_custom_typing($access_token) { } }

相關推薦

公眾平臺系列-4訊息回覆

部分封裝:<?php /** * Created by PhpStorm. * User: wangyetao * Date: 18-1-19 * Time: 下午9:23 */ namespace Wx\WxUtil\MessageManagement;

公眾平臺開發--文字及圖文訊息回覆的實現

public class MessageUtil {/*** 返回訊息型別:文字*/public static final String RESP_MESSAGE_TYPE_TEXT = "text";/*** 返回訊息型別:音樂*/public static final String RESP_MESSAG

公眾平臺開發(十) 訊息回覆總結

一、簡介 微信公眾平臺提供了三種訊息回覆的格式,即文本回復、音樂回覆和圖文回覆,在這一篇文章中,我們將對這三種訊息回覆的格式做一下簡單講解,然後封裝成函式,以供讀者使用。 二、思路分析 對於每一個POST請求,開發者在響應包中返回特定xml結構,對該訊息進行響應(現

weixin-java-mp集成公眾號自帶功能

scribe ogg 技術交流 lis equals etl new t 掃碼 分享圖片 電腦端登錄公眾號管理後臺,【添加功能插件】開通客服功能,輸入"人工客服"接入客服熱線 底部有我的微信二維碼,如有問題,可加好友進行技術交流! ? ? ? ? ? ? ? weixi

公眾平臺 關注傳送客圖文訊息 錯誤 errcode:40003及解決

使用微信公眾號傳送圖文訊息 http請求方式: POST http請求url:https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN 所需json資料包: { "touser"

公眾平臺開發[4] —— ThinkPHP 框架下支付

    提示:文章佈局尷尬症患者,請轉移>>>MarkDown文章連結 <<<     宣告:原文主要摘自白俊遙部落格 ,部分內容針對個人事例已作修改,主要用

公眾平臺系列-2被動訊息回覆

部分程式碼封裝:<?php namespace Wx\WxUtil\MessageManagement; /** * Created by PhpStorm. * User: wangyetao * Date: 18-1-11 * Time: 上午11:38

PHP7.0公眾平臺開發4: 例項一:接收普通訊息和接收事件推送

<?php define("TOKEN", "peng"); $wechatObj = new wechatCallbackapiTest(); if (!isset($_GET['echostr'])) { $wechatObj->responseMsg(); //呼叫respon

公眾平臺服務號傳送模板訊息並跳轉小程式

當你在使用公眾號的模板訊息API傳送訊息並且想可以通過這個訊息跳轉到小程式上,那麼你可要注意了!很有可能踩了官方文件的引數名錯誤的坑!!! 在官方文件“傳送模板訊息”章節中無論是POST資料說明還是引數說明中都明確的說明 pagepath :所需跳轉到小程式的具體頁面路

公眾平臺開發】傳送模板訊息

post資料示例如下: { "touser":"OPENID", "template_id":"TEMPLATEID", "data":{

PHP公眾平臺開發高階篇--模板訊息介面

* 2.不建議用瀏覽器直接請求,會導致推送多次訊息,可設定為事件推送 */ header("Content-type: text/html; charset=utf-8"); $postArr = file_get_contents('php://input'); $postObj = simplexm

C# 呼叫公眾號介面傳送客訊息示例

客服訊息傳送比較簡單 注:指定openid和訊息內容使用Post傳送就可以,很多時候需要在觸發事件或相應的情況下發送 1.獲取傳送地址 /// <summary> /// 客服傳送訊息-

公眾平臺開發之相同關鍵詞不同回覆-php語言(五)

1.微信公眾平臺開發必備的一個基礎功能是關鍵詞回覆。但有時候我們的微信公眾號的需要關鍵詞回覆的模組比較多時,例如“預設情況下的關鍵詞回覆,查詢天氣時的關鍵詞回覆,或者成語接龍等文字遊戲的關鍵詞回覆”,模組多時不可避免的會出現關鍵詞衝突的問題。 2.在每天蒐集公

Java公眾平臺開發之傳送模板訊息

模板訊息僅用於公眾號向用戶傳送重要的服務通知,只能用於符合其要求的服務場景中,如信用卡刷卡通知,商品購買成功通知等。不支援廣告等營銷類訊息以及其它所有可能對使用者造成騷擾的訊息。對於一般的服務號而言,模板ID行業之類會事先配置好,所以用程式碼控制的只有傳送了。準備工作:已通過

公眾平臺配置伺服器之後實現自動回覆

參考微信公眾平臺開發者文件 下載示例程式碼 將示例程式碼通過FTP傳至自己的伺服器 配置域名和Token(我這裡是dandan) 隨機生成EncodingAESKey 驗證 新定義一個方法 public function index(){ if (isset($_GET[

PHP實現公眾平臺開發---提升篇(模板訊息介面)

模版訊息 介面 模板訊息僅用於公眾號向用戶傳送重要的服務通知,只能用於符合其要求的服務場景中,如信用卡刷卡通知,商品購買成功通知等。不支援廣告等營銷類訊息以及其它所有可能對使用者造成騷擾的訊息。 規則 所有服務號都可以在功能->新增功能外掛處看到申請模板訊息功

Java公眾平臺開發(九)--關鍵字回覆以及介面實現(該公眾號暫時無法提供服務解決方案)

轉自:http://www.cuiyongzhi.com/post/47.html 我們在微信公眾號的後臺可以發現微信給我們制定了兩種模式,一種是開發者模式(也就是我們一直在做的開發),還有一種模式是編輯模式,然而很蛋疼的是有些功能一旦我們切換到開發者模式下就無法使用了,比較典型的就是關鍵字回覆以及伺服器無

公眾平臺 介面-發訊息

微信公眾平臺技術文件:客服訊息 一、介面說明 當用戶和公眾號產生特定動作的互動時(具體動作列表請見下方說明),微信將會把訊息資料推送給開發者,開發者可以在一段時間內(目前修改為48小時)呼叫客服介面,通過POST一個JSON資料包來發送訊息給普通使用者。

【已解決】公眾平臺開發 系統回覆文字顯示json_encode|unicode中文亂碼

                                       導致原因:在 curl post 方式呼叫客服介面時,傳參過程中使用了 json_encode 函式對變數進行 JSON 編碼,我們習慣性的不填寫第二個引數,或者使用框架裡封裝好的 json 函式

nopCommerce 3.9 大波浪系列公眾平臺登錄插件

authent verify rip state link value eat round 掃描 一.簡介 nop支持第三方登錄授權擴展,本篇通過編寫微信公眾平臺登錄插件進一步了解nop授權登錄的開發過程。 微信公眾平臺、微信開放平臺使用場景不一樣,