SpringBoot が WeChat パブリック アカウント テンプレートのメッセージ通知を開く
序文
最近 OA プロジェクトに取り組んでいますが、あるプロジェクトには、前のユーザーがレビューした後、次のノードのユーザーに通知を送信する必要があるというビジネス シナリオがあります。私たちはミニプログラムと PC しか持っていないため、WeChat メッセージングの使用を検討しました。
1. WeChat パブリック アカウント テンプレート メッセージを使用する理由は何ですか?
現在のプロジェクトには WeChat アプレットのみがあり、選択できるオプションはあまりありません。WeChatの公式ドキュメントを見ると、ミニプログラムとパブリックアカウントには独自のメッセージ購読機能があり、通常のアカウントは1回限りの購読機能のみを有効にすることができ、特定の業界のアカウントのみが長期購読機能を有効にすることができます。最終的に、公式アカウントのメッセージ テンプレートの方がビジネス シナリオに沿っていることがわかりました。達成される効果は、各消費後に Meituan 公式アカウントが複数の承認なしで対応するメッセージをプッシュするのと同様です。
2. 実施原則
WeChat オープン プラットフォームの UnionID を利用して、複数のアプリケーション間でのユーザー共有を実現します。ユーザーが関連付けられた公式アカウントをフォローすると、ユーザーのunionIDとopenIDを取得できますが、このとき、ユーザーがミニプログラムにログインすると、WeChat内にあるため、ミニプログラムに対応するunionIDとopenIDも取得できます。ユーザーの関連付けは、unionID を通じて行われるため、この時点では、テンプレート メッセージをプッシュするミニ プログラムの UnionID を通じてパブリック アカウントに対応する openID を見つけることができます。
3. 導入手順
1. WeChatオープンプラットフォームアカウントを作成する
2. ミニプログラムアカウントをバインドする
3.公式アカウントをバインドする
注意: メッセージテンプレート機能はサービスアカウントのみ利用可能ですので、公開アカウントを申請する場合は注意してください。
4.公式アカウント申請テンプレートメッセージ
公式アカウントにログインし、新機能をクリックし、テンプレートメッセージを見つけてアクティベーションを申請してください。
5.公式アカウントの設定
パブリック アカウントの開発に慣れていない場合は、Baidu で必要な設定情報 (主に赤枠の部分) を自分で入力できます。
6. WeChat 公開アカウントを開発する
ここにはキー ロジック コードのみが掲載されています。ユーザーが公式アカウントをフォローすると、WeChat サーバーは設定したサーバー インターフェイスにメッセージをプッシュします。このとき、情報のこの部分を解析し、openID と UnionID を保存する必要があります。 。
ユーザー情報を取得する
アクセストークンの取得 GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
ユーザー情報の取得 GET https://api.weixin.qq.com/cgi-bin/user/ info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
テンプレートメッセージプッシュ
POST https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN
7. ミニプログラムバインディング
ビジネスドメイン名の設定
実装のアイデア
アプレットはネイティブの wx.login() メソッドを呼び出してコードを取得し、openID** と引き換えに WeChat jscode2session インターフェイスを呼び出すことができます** (このインターフェイスは UnionID 情報も返します)**。ここでの呼び出しには承認が必要ないためです。アプレットからサイレントに呼び出すことができます。
GET https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
要約する
現在、対応するアプリケーションが同じ WeChat オープン プラットフォームアカウントにバインドされている限り、ほとんどのシナリオでメッセージ プッシュ機能を WeChat パブリック アカウント テンプレートを通じて実現できます。それが APP、ミニ プログラム、または Web アプリケーションであるかどうかは関係ありません。
ミニ プログラムにジャンプするために公式アカウントが必要な場合は、公式アカウントをミニ プログラムにバインドし、プッシュされたテンプレート メッセージでジャンプ先のミニ プログラムのアプリ ID と pagePath パラメーターを設定するだけです。
正式文書のアドレス
公式アカウントのaccessToken取得 公式
アカウントのユーザー情報(openID、unionID)の取得
テンプレートメッセージプッシュ
ミニプログラムの取得 AccessToken
ミニプログラムのopenID、unionId情報の取得