ホームページ >バックエンド開発 >PHPチュートリアル >PHP は、指定されたユーザーに送信される WeChat テンプレート メッセージを実装します。
子供靴に関する問い合わせがたくさんあります。WeChat パブリック アカウントのインターフェースを使用して特定のユーザーにメッセージを送信できますか? 直接送信する場合、いくつかの制限があります。1 つはカスタマー サービス メッセージ インターフェースです。 , ただし、これにはユーザーが 48 時間以内に待つ必要があり、パブリック アカウントとのやり取りがある場合にのみ送信できます。もう 1 つは WeChat のテンプレート メッセージで、送信時間制限はありませんが、WeChat は送信前にテンプレートを使用してスパム データの一部を防ぐ必要があります。
通常、多くのテンプレート メッセージを受信すると思いますが、実際の効果は次のとおりです。
関連する推奨事項: 「PHP チュートリアル 」
この種類 WeChat テンプレート メッセージの効果を実現するにはどうすればよいですか?
まず、WeChat パブリック プラットフォームの背景にある「機能」メニューでテンプレート メッセージを選択する必要があります。テンプレート メッセージがない場合は、次のように、メニューで関数プラグインをクリックして追加する必要があります。図:
プラグインを追加した後、使用するテンプレート ライブラリからテンプレートを選択できます。テンプレートを作成することもできます。一般的には、テンプレート ライブラリで十分です。テンプレートを選択した後、テンプレート ID を覚えておく必要があります。これは後で行います。PHP プログラムで使用されます。
次に、インターフェイスの呼び出しルールについて説明します。
http リクエスト メソッド: POST
https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN
どのようなデータ形式で送信されますか?送信されるデータは json 形式です。例として次のテンプレートを取り上げます。
JSON 形式は次のとおりです:
{ "touser": "这里是接收用户的OPENID", "template_id": "这里是模板ID", "url": "这里是点击详情后跳转的网址", "data": { "first": { "value": "您好!有访客访给您留言了。", "color": "#173177" }, "user": { "value": "张三", "color": "#FF0000" }, "ask": { "value": "您好,非常关注黎明互联,有没有关于支付宝的视频教程?", "color": "#173177" }, "remark": { "value": "该用户已注册12天", "color": "blue" } } }
データ形式 これで理解しました。次に、PHP を使用してデータを送信する方法を理解しました。データのスプライシングが完了した後、JSON は文字列としてのみ定義できますか? 文字列に慣れていない場合、または文字列の使用が好きでない場合は、配列変換を使用できます。以下では、配列を文字列として使用します。 WeChat テンプレート メッセージを実装するための PHP コード スニペットの例:
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);
以上がPHP は、指定されたユーザーに送信される WeChat テンプレート メッセージを実装します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。