Heim >Backend-Entwicklung >PHP-Tutorial >PHP implementiert WeChat-Vorlagennachrichten, die an bestimmte Benutzer gesendet werden

PHP implementiert WeChat-Vorlagennachrichten, die an bestimmte Benutzer gesendet werden

藏色散人
藏色散人nach vorne
2019-12-04 16:03:515291Durchsuche

Ich habe viele Anfragen von Kinderschuhen erhalten. Kann ich über die öffentliche WeChat-Kontoschnittstelle eine Nachricht senden? Eine davon ist die Kundendienst-Nachrichtenschnittstelle Dies erfordert jedoch, dass der Benutzer uns innerhalb von 48 Stunden kontaktiert. Der Versand kann nur erfolgen, wenn eine Interaktion mit dem öffentlichen Konto erfolgt. Die andere ist die Vorlagennachricht von WeChat, für die es keine zeitliche Begrenzung für den Versand gibt. WeChat muss jedoch eine Vorlage verwenden, um einige Spam-Daten zu verhindern, bevor sie gesendet werden kann.

Ich glaube, wir erhalten normalerweise viele Vorlagennachrichten. Der tatsächliche Effekt ist wie folgt:

Verwandte Empfehlungen: „PHP-Tutorial

Diese Art von WeChat-Vorlagennachrichten?

Zunächst müssen Sie Vorlagennachrichten im Menü „Funktion“ im Hintergrund der öffentlichen WeChat-Plattform auswählen Im Menü müssen Sie auf das Funktions-Plug-in klicken, um es wie folgt hinzuzufügen:

Nachdem Sie das Plug-in hinzugefügt haben, können Sie in der Vorlagenbibliothek eine Vorlage zur Verwendung auswählen. Sie können auch eine Vorlage erstellen. Nach der Auswahl einer Vorlage müssen Sie sich die Vorlagen-ID merken.

Als nächstes sprechen wir über die Aufrufregeln der Schnittstelle:

http-Anfragemethode: POST

https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN

Welches Datenformat wird gesendet? Die gesendeten Daten liegen im JSON-Format vor. Nehmen Sie die folgende Vorlage als Beispiel:

Das JSON-Format lautet wie folgt:

{
"touser": "这里是接收用户的OPENID",
"template_id": "这里是模板ID",
"url": "这里是点击详情后跳转的网址",
"data": {
"first": {
"value": "您好!有访客访给您留言了。",
"color": "#173177"
},
"user": {
"value": "张三",
"color": "#FF0000"
},
"ask": {
"value": "您好,非常关注黎明互联,有没有关于支付宝的视频教程?",
"color": "#173177"
},
"remark": {
"value": "该用户已注册12天",
"color": "blue"
}
}
}

Datenformat Jetzt verstehen wir, wie man PHP zum Senden verwendet an den Server und im Code Kann JSON erst nach Abschluss des Datenspleißens als Zeichenfolge definiert werden? Wenn Sie mit Zeichenfolgen nicht vertraut sind oder keine Zeichenfolgen verwenden möchten, können Sie die Array-Konvertierung als verwenden Ein Beispiel für ein PHP-Code-Snippet zur Implementierung einer WeChat-Vorlagennachricht:

class WxTmp
{
    //请求模板消息的地址
    const TEMP_URL = 'https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=';
    public function getAccessToken(){
        //这里获取accesstoken  请根据自己的程序进行修改
        return $access_token;
    }
    /**
    * 微信模板消息发送
    * @param $openid 接收用户的openid
    * return 发送结果
    */
    public function send($openid){
        $tokens = $this->getAccessToken();
        $url = self::TEMP_URL . $tokens;
        $params = [
            'touser' => $openid,
            'template_id' => 'Oblr5uXH_fS79gMC8E0mYz0CpUAHnJtdvAC3PWABrsk',//模板ID
            'url' => 'https://www.liminghulian.com/course/3/lesson/list', //点击详情后的URL可以动态定义
            'data' => 
                    [
                      'first' => 
                         [
                            'value' => '您好!有访客访给您留言了。',
                            'color' => '#173177'
                         ],
                      'user' => 
                         [
                            'value' => '张三',
                            'color' => '#FF0000'
                         ],
 
                      'ask' => 
                         [
                                'value' => '您好,非常关注黎明互联,有没有关于支付宝的视频教程?',
                                'color' => '#173177'
                         ],
                       'remark' => 
                         [
                                'value' => '该用户已注册12天',
                                'color' => 'blue'
                         ] 
                      ]
        ]; 
        $json = json_encode($params,JSON_UNESCAPED_UNICODE);
        return $this->curlPost($url, $json);
    }
    /**
    * 通过CURL发送数据
    * @param $url 请求的URL地址
    * @param $data 发送的数据
    * return 请求结果
    */
    protected function curlPost($url,$data)
    {
        $ch = curl_init();
        $params[CURLOPT_URL] = $url;    //请求url地址
        $params[CURLOPT_HEADER] = FALSE; //是否返回响应头信息
        $params[CURLOPT_SSL_VERIFYPEER] = false;
    $params[CURLOPT_SSL_VERIFYHOST] = false;
        $params[CURLOPT_RETURNTRANSFER] = true; //是否将结果返回
        $params[CURLOPT_POST] = true;
        $params[CURLOPT_POSTFIELDS] = $data;
        curl_setopt_array($ch, $params); //传入curl参数
        $content = curl_exec($ch); //执行
        curl_close($ch); //关闭连接
        return $content;
    }
}
 
$obj = new WxTmp();
$openid = '接收模板信息的用户的openid';
echo $obj->send($openid);

Das obige ist der detaillierte Inhalt vonPHP implementiert WeChat-Vorlagennachrichten, die an bestimmte Benutzer gesendet werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen