WeChatメッセージテンプレート-Jukeng

WeChatプラットフォームは、アクティブメッセージとパッシブメッセージに分けられます。アクティブメッセージは、メッセージをWeChatプラットフォームにアクティブにプッシュする本番サーバーであり、パッシブメッセージは、WeChatプラットフォームが本番サーバーにメッセージをプッシュするユーザーの動作です。


  • プロアクティブなメッセージには以下が必要です。
    • 1.本番サーバーのIPをIPホワイトリストに追加します
    • 2.次に、appidとsecretに従ってトークンを取得します
    • 3.アクティブにプッシュするたびにトークン&をURLに配置します

  • パッシブメッセージ:
    • 1.公式アカウント構成で本番サーバーのURLパスを入力します
    • 2.トークンバインディングを取得します

1.メッセージテンプレート

  • 1. WeChatメッセージテンプレートAPIインターフェイスリンクを取得します(Jukeng、WeChat公式アカウントドキュメントのメッセージテンプレートAPIリンクに問題があります。正しいものは、WeChat公式アカウント、メッセージテンプレート設定、およびインターフェイスドキュメントにあります)

  • 2.メッセージテンプレートIDを取得します

  • 3.メッセージを送信する必要があるユーザーのopenidを取得します(公式アカウントに従ってください)

  • 4.メッセージテンプレートデータを作成します

  • 5.成功の兆候:

    • (1)返されたjsonデータを受信します。error= 0、
    • (2)WeChatプラットフォームは積極的にxmlをサーバーにプッシュします

2.注意が必要な事項

  • 1. WeChatテンプレートAPIは、メッセージテンプレートインターフェイスドキュメントの公式アカウントであるメッセージテンプレートプラグインです。

  • 2.メッセージテンプレートの構文:

    • (1)データ形式の構造、json形式
    • (2)郵送
  • 3.ユーザーのopenidは、公式アカウントappidの下にある必要があります。つまり、公式アカウントをフォローしているユーザーである必要があります。

  • 4. Jukeng、Jukeng、およびメッセージテンプレートのopenidは、WeChatのopenidだけでなく、ユーザーに対応する各公式アカウントのtofakeidです。

    • WeChatパブリックプラットフォームのいわゆる「openid」は、次の2つのタイプに分けられます。

      • [最初のタイプのopenid]はインタラクティブxmlから取得されます:
        <![CDATA [fromUser]]>
        各ユーザーはWeChatパブリックプラットフォームごとに一意です。つまり、同じユーザーが異なるWeChatパブリックプラットフォームを持っています。[最初のタイプのopenid openid]は異なります;私
        はそれを偽物と呼ぶ傾向があり、許可なくページを取得します。
      • [2番目のタイプのopenid]は、WeChatが提供するOAuth2.0インターフェース(高度なインターフェースは認証されたサービス番号である必要があり
        ます)を使用することです。これは、ユーザーごとに一意です。つまり、同じユーザーの[2番目のタイプのopenid]です。はすべて異なるWeChatパブリックプラットフォーム上にあります同じです。私は
        個人的にそれを本当のopenidと呼び、認証が必要なページを取得する傾向があります。
        最初のタイプのパブリックプラットフォーム開発者向けドキュメントは明確に述べられていませんが、ドキュメントを読んでいる限り推測するのは難しくありません。
        使用される2番目のタイプのインターフェイスの詳細は次のとおりです。パブリックプラットフォーム開発者向けドキュメント-基本的なユーザーを取得するためのWebページ認証情報。

ps:詳細なスクリプトコード:

 /**
     * @param $open_id	用户openid
     * @param $template_id	消息模板id
     * @param $miniprogram	消息模板跳转的appid,pagepath页面链接,可根据自我需求删改
     * @param $appid	公众号appid
     * @param $num		申请编号,可根据自我需求删改
     * 发送消息模板
     * @return array
     */
    public  function SendMsg($open_id,$template_id,$miniprogram,$num){
        try {
            $token = $this->get_token();
        } catch (\Exception $e) {
       		 $e->getMessage();
        }
        //发送模板消息url
        $send_url="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={$token}";
        $date=date("Y-m-d H:i:s",time());
        $data=[
                "touser"=>$open_id,
                "template_id"=>$template_id,
                'miniprogram'=>$miniprogram,
                "data"=>[
                    "first"=>[
                        "value"=>"吸易商城提醒您,您的消杀片已到期,请及时更换",
                    ],
                    "keyword1"=>[
                        "value"=>"商品更换提醒",
                    ],
                    "keyword2"=>[
                        "value"=>$num,
                    ],
                    "keyword3"=>[
                        "value"=>$date,
                    ],
                    "keyword4"=>[
                        "value"=>'待处理',
                    ],
                    "remark"=>[
                        "value"=>"详情信息,请戳详情了解",
                    ],
                ],
        ];
    
        //$postData = http_build_query($postData); //做一层过滤
        $json_data=json_encode($data);
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL,            $send_url);
        curl_setopt($ch, CURLOPT_HEADER, 0); //设置header
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
        curl_setopt($ch, CURLOPT_POST,           1 );
        curl_setopt($ch, CURLOPT_POSTFIELDS,     $json_data );
        $request=curl_exec ($ch);
        curl_close($ch);
        $request=json_decode($request,true);
        if ($request['errcode']==0){
            return [
                'code'=>ApiCode::CODE_SUCCESS,
                'msg'=>"消息模板发送成功",
            ];
        }
        return [
            'code'=>ApiCode::CODE_ERROR,
            'msg'=>$request,
        ];
    }

おすすめ

転載: blog.csdn.net/weixin_43272542/article/details/113568308