ホームページ  >  記事  >  バックエンド開発  >  PHP は WeChat アプレット テンプレート メッセージのプッシュを実装します

PHP は WeChat アプレット テンプレート メッセージのプッシュを実装します

王林
王林オリジナル
2023-05-31 21:02:102240ブラウズ

新しいタイプのモバイル アプリケーションとして、WeChat アプレットはますます多くの開発者の注目を集めています。ただし、基本的なメッセージ プッシュ機能に加えて、WeChat アプレットにテンプレート メッセージ プッシュを実装するにはどうすればよいでしょうか?

この記事では、PHP 言語を例として、WeChat アプレットのテンプレート メッセージ プッシュ機能の実装方法を紹介します。

まず、WeChat ミニ プログラムのテンプレート メッセージの基本概念を理解する必要があります。テンプレート メッセージとは、サービス アカウントまたはサブスクリプション アカウントのテンプレート メッセージを指します。これらは、ユーザーの同意と承認を得てユーザーに送信し、ユーザーの WeChat チャット インターフェイスに表示できます。 WeChat アプレットでは、WeChat アプレットの公式 API を呼び出すことで、テンプレート メッセージをプッシュできます。

次に、必要なパラメータをいくつか準備する必要があります。具体的には、WeChat アプレットの access_token、対象ユーザーの openid、テンプレート メッセージの ID、メッセージの内容 (つまり、テンプレート内の変数置換) などの情報を取得する必要があります。

access_token を取得する前に、WeChat アプレット開発プラットフォームに登録し、関連する AppID と AppSecret 情報を取得してから、OAuth2.0 検証メカニズムを通じて access_token を取得する必要があります。 access_token を取得したら、それを使用してテンプレート メッセージをプッシュできます。

次に、メッセージ テンプレートを構築する必要があります。 WeChat アプレットでは、メッセージ テンプレートは特定のテンプレート ID を介して送信されます。 WeChat オープン プラットフォームのテンプレート ライブラリから適切なテンプレートを選択することも、自分でテンプレートをカスタマイズすることもできます。テンプレートにはプレースホルダーが含まれるため、メッセージを送信するときにこれらのプレースホルダーを特定のコンテンツに置き換える必要があります。

通常、メッセージ テンプレートの関連情報 (テンプレート ID やプレースホルダーなど) をデータベースに保存して、その後のプッシュを容易にすることができます。

次に、プッシュ コードを記述する必要があります。 PHP では、CURL ライブラリを使用して HTTP リクエストを作成し、そのリクエストを WeChat アプレット API に送信できます。 API は、メッセージ プッシュの結果を含む応答を JSON 形式で返します。

以下のサンプルコードでは、テンプレートID、openid値、置換が必要な変数値(注文番号、商品名、価格など)を用意しました。

<?php
// access_token的获取
$appid = 'your_appid'; // 微信小程序的appid
$appsecret = 'your_appsecret'; // 微信小程序的appsecret
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret";

// 发送请求,获取access_token
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
$out = curl_exec($ch);
curl_close($ch);
$data = json_decode($out, true);
$access_token = $data["access_token"];

// 发送模板消息
$data = array(
    "touser" => "用户openid", // 接收用户openid
    "template_id" => "模板消息ID", // 模板消息ID 
    "page" => "pages/index/index", // 跳转小程序页面路径
    "form_id" => "表单ID", // 表单ID
    "data" => array(
        "keyword1" => array(
            "value" => "订单号"
        ),
        "keyword2" => array(
            "value" => "商品名称"
        ),
        "keyword3" => array(
            "value" => "价格"
        ),
    )
);

$json = json_encode($data);
$url = "https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=" . $access_token;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
$out = curl_exec($ch);
curl_close($ch);
$res = json_decode($out, true);

// 输出结果
if ($res['errcode'] == 0) {
    echo '消息发送成功!';
} else {
    echo '消息发送失败:' . $res['errmsg'];
}
?>

このコードを実行すると、「メッセージは正常に送信されました!」が出力できれば、メッセージがユーザーの WeChat チャット インターフェイスに正常にプッシュされたことを意味します。

テンプレート メッセージの送信にはいくつかの制限があることに注意してください。たとえば、毎回送信するテンプレート メッセージの数は 1 日の制限を超えることはできず、テンプレートごとに送信頻度も異なります。等無用なトラブルを避けるために、WeChat パブリック プラットフォームの関連文書に従った送信制限と規制に従う必要があります。

この記事では、PHP を使用して WeChat アプレット テンプレート メッセージ プッシュを実装するプロセスを簡単に紹介します。このプロセスに習熟することで、ユーザーとのやり取りが改善され、ミニ プログラムのユーザー エクスペリエンスが向上します。

以上がPHP は WeChat アプレット テンプレート メッセージのプッシュを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。