検索
ホームページWeChat アプレットWeChatの開発C# は WeChat ポータルを開発し、パブリック アカウント テンプレートのメッセージ管理を適用します

テンプレート メッセージ インターフェースを通じて、公開アカウントは、アカウントをフォローしているユーザーにプリセットのテンプレート メッセージを送信できます。テンプレート メッセージは、重要なサービス通知をユーザーに送信するために公式アカウントによってのみ使用され、クレジット カードのスワイプ通知や製品購入の成功通知など、要件を満たすサービス シナリオでのみ使用できます。広告などのマーケティング メッセージや、ユーザーに嫌がらせを引き起こす可能性のあるその他のメッセージはサポートされていません。この記事では主に、C# をベースとしたパブリック アカウント テンプレートのメッセージ管理機能の開発と実装について紹介します。

「テンプレート メッセージ機能の開始により、サービス アカウントのサービス通知機能が大幅に強化されるでしょう。」 WeChat のテンプレート メッセージ機能のオープンを楽しみにしていた一部のパブリック アカウント オペレーターの意見では、WeChat のテンプレート メッセージ機能の社会的性質は重要です。 1 対 1 のコミュニケーションにより情報がプッシュされます。到達率がより正確になるため、企業はコスト、サービス効率、パフォーマンスの点で多くの利点を得ることができます。これは、企業のサービス形式を強化し、ユーザーの対話と継続性を強化するだけでなく、より多様性をもたらします。豊富でタイムリーなサービス経験。

1. 業種分類管理とテンプレートの説明

テンプレート情報は業種ごとに分かれており、さまざまな使用シナリオに応じて異なるテンプレートが設計されています。たとえば、ソフトウェア業界では、登録成功通知、内覧リマインダー、注文などがあります。リマインダー、メンバーシップのリチャージ、メンバー消費通知、およびさまざまなシナリオで使用できるその他のテンプレート。

C#开发微信门户及应用公众号模板消息管理

公式アカウントでテンプレートを使用する必要がある場合は、テンプレート ライブラリから必要なテンプレートを追加する必要があります (現在の制限は 15 です)。テンプレートが私のテンプレートに追加されると、各テンプレートは [テンプレート ID] というランダムな値を生成します。情報を送信するときは、このテンプレート ID に従って送信します。

C#开发微信门户及应用公众号模板消息管理

各テンプレートには、詳細なパラメーターの説明とサンプルエフェクトが含まれています。

C#开发微信门户及应用公众号模板消息管理

WeChat チームの担当者は次のように述べています: テンプレート メッセージの開設は主に、パブリック アカウントがクローズド ループ サービスを完了できるようにするためのものです。既存のパブリック アカウントでは、アクティブにメッセージを送信できる機能が限られています (月に 4 つのメッセージを送信できます)。 )そのため、多くの企業は、サービス結果やその他のメッセージをユーザーに事前にプッシュ通知できなくなります。テンプレート メッセージが開かれた後、企業は WeChat プラットフォームを使用してテンプレート メッセージを使用して、外部サービスや内部管理プロセス中により迅速に情報にアクセスし、ユーザーにより思いやりのあるサービスを提供できます。

WeChat はユーザー エクスペリエンスを継続的に最適化しており、テンプレート メッセージのオープンにより、より豊富な双方向インタラクション、より正確な情報リマインダーなどのより基本的な機能が企業に提供され、企業の品質とパーソナライズされたサービスが向上しました。この奥深さと広さこそが、金融、民間航空、政府関係、その他の分野の機関や企業が WeChat のテンプレート メッセージング機能のオープンを期待している理由です。将来的には、テンプレートメッセージ機能の更なる改善により、会社員の給与明細、居住者の月々の電気使用量、電気代などの電気使用量明細、さらには運転免許証の有効期限切れによる交換の必要性なども把握できるようになるかもしれません。 、企業や部門の WeChat を通じて公開することができ、アカウントのテンプレート メッセージは該当するユーザーに即座に配信されます。

2. 開発にテンプレート メッセージを使用する

テンプレートに関する関連情報と個々のテンプレートの紹介は、バックグラウンド プログラムでのテンプレート メッセージの送信を統合する必要がある場合に、テンプレートについて知っておく必要がある API について説明しました。メッセージ?テンプレート メッセージ API を使用してメッセージを送信するにはどうすればよいですか?

まずはテンプレートメッセージの使い方を見てみましょう:

1、所有服务号都可以在功能->添加功能插件处看到申请模板消息功能的入口,但只有认证后的服务号才可以申请模板消息的使用权限并获得该权限;
2、需要选择公众账号服务所处的2个行业,每月可更改1次所选行业;
3、在所选择行业的模板库中选用已有的模板进行调用;
4、每个账号可以同时使用15个模板。
5、当前每个模板的日调用上限为10万次【2014年11月18日将接口调用频率从默认的日1万次提升为日10万次,可在MP登录后的开发者中心查看】。

テンプレートメッセージの管理機能は、

1 所属する業界を設定します
2 テンプレートIDを取得します
3 テンプレートメッセージを送信します
4イベントプッシュ

2.1 所属する業界を設定します

業界の設定は月に1回のみ行うことができます。サードパーティの開発者を容易にし、インターフェイス呼び出しを通じてアカウントが属する業界を変更する方法を提供します。 具体的には次のとおりです:

インターフェイス呼び出しリクエストの説明

http请求方式: POST
https://api.weixin.qq.com/cgi-bin/template/api_set_industry?access_token=ACCESS_TOKEN

POSTデータの説明

POSTデータの例は次のとおりです。以下:

      {
          "industry_id1":"1",
          "industry_id2":"4"
       }

説明によると、インターフェイス クラス ITemplateMessageApi を定義し、次のように業界を設定するインターフェイス関数を定義できます。:

        /// <summary>
        /// 设置所属行业        /// </summary>
        /// <param>
        /// <param>公众号模板消息所属行业编号(主营行业)
        /// <param>公众号模板消息所属行业编号(副营行业)
        /// <returns></returns>
        CommonResult SetIndustry(string accessToken, IndustryCode industry_id1, IndustryCode industry_id2);

便宜上、IndustryCode を列挙オブジェクトとして定義します。以下に示すように、システムでサポートされているすべての業界コードをリストします。

C#开发微信门户及应用公众号模板消息管理

而实现代码和之前的函数处理类似,都是POST数据到一个连接即可,并解析返回的结果就可以了,具体实现代码如下所示。

/// <summary>
        /// 设置所属行业
        /// </summary>
        /// <param>访问凭证
        /// <param>公众号模板消息所属行业编号(主营行业)
        /// <param>公众号模板消息所属行业编号(副营行业)
        /// <returns></returns>
        public CommonResult SetIndustry(string accessToken, IndustryCode industry_id1, IndustryCode industry_id2)
        {
            var url = string.Format("https://api.weixin.qq.com/cgi-bin/template/api_set_industry?access_token={0}", accessToken);
            var data = new
            {
                industry_id1 = (int)industry_id1,
                industry_id2 = (int)industry_id2
            };
            string postData = data.ToJson();

            return Helper.GetExecuteResult(url, postData);
        }

2.2 获得模板ID

获得模板ID,也就是从模板库里面添加对应的模板消息到我的模板里面。

从行业模板库选择模板到账号后台,获得模板ID的过程可在MP中完成。为方便第三方开发者,提供通过接口调用的方式来修改账号所属行业,具体如下:

接口调用请求说明

http请求方式: POST
https://api.weixin.qq.com/cgi-bin/template/api_add_template?access_token=ACCESS_TOKEN

POST数据说明

POST数据示例如下:

      {
           "template_id_short":"TM00015"
       }

C#函数实现代码如下所示:

/// <summary>
        /// 获得模板ID.
        /// 从行业模板库选择模板到账号后台,获得模板ID的过程可在MP中完成。
        /// </summary>
        /// <param>访问凭证
        /// <param>模板库中模板的编号,有“TM**”和“OPENTMTM**”等形式
        /// <returns></returns>
        public AddTemplateResult AddTemplate(string accessToken, string template_id_short)
        {
            var url = string.Format("https://api.weixin.qq.com/cgi-bin/template/api_add_template?access_token={0}", accessToken);
            var data = new
            {
                template_id_short = template_id_short
            };
            string postData = data.ToJson();

            return JsonHelper<addtemplateresult>.ConvertJson(url, postData);
        }</addtemplateresult>

2.3 发送模板消息

根据上面小节处理,添加到我的模板里面的操作得到的模板ID,我们就可以调用发送模板消息的API进行模板消息发送了。

接口调用请求说明

http请求方式: POST
https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN

POST数据说明

POST数据示例如下:

      {
           "touser":"OPENID",
           "template_id":"ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY",
           "url":"http://weixin.qq.com/download",
           "topcolor":"#FF0000",
           "data":{
                   "first": {
                       "value":"恭喜你购买成功!",
                       "color":"#173177"
                   },
                   "keynote1":{
                       "value":"巧克力",
                       "color":"#173177"
                   },
                   "keynote2": {
                       "value":"39.8元",
                       "color":"#173177"
                   },
                   "keynote3": {
                       "value":"2014年9月16日",
                       "color":"#173177"
                   },
                   "remark":{
                       "value":"欢迎再次购买!",
                       "color":"#173177"
                   }
           }
       }

根据上面的JSON参数,我们可以看到,有部分是模板消息公共的部分,有部分则是模板消息的具体参数,这些参数需要根据不同的模板进行不同的赋值。

如这部分是共同的:

   touser":"OPENID",
   "template_id":"ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY",
   "url":"http://weixin.qq.com/download",
   "topcolor":"#FF0000",

根据这个特点,我们定义发送模板消息的接口如下所示:

/// <summary>
        /// 模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等。
        /// 不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息。
        /// </summary>
        /// <param>访问凭证
        /// <param>账号的openID
        /// <param>在公众平台线上模板库中选用模板获得ID
        /// <param>模板的变化参数数据
        /// <param>,URL置空,则在发送后,点击模板消息会进入一个空白页面(ios),或无法点击(android)。
        /// <param>顶部颜色,默认为#173177
        /// <returns></returns>
        SendMassMessageResult SendTemplateMessage(string accessToken, string openId, string templateId, object data, string url, string topcolor = "#173177");

我们用object data来定义模板的变化参数数据。

具体的实现还是和前面的方法提交数据处理差不多,代码如下所示。

/// <summary>
        /// 模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等。
        /// 不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息。
        /// </summary>
        /// <typeparam></typeparam>
        /// <param>访问凭证
        /// <param>
        /// <param>在公众平台线上模板库中选用模板获得ID
        /// <param>
        /// <param>,URL置空,则在发送后,点击模板消息会进入一个空白页面(ios),或无法点击(android)。
        /// <param>
        /// <returns></returns>
        public SendMassMessageResult SendTemplateMessage(string accessToken, string openId, string templateId, object data, string url, string topcolor = "#173177")
        {
            var postUrl = string.Format("https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={0}", accessToken);
            var msgData = new TemplateData()
            {
                touser = openId,
                template_id = templateId,
                topcolor = topcolor,
                url = url,
                data = data
            };
            string postData = msgData.ToJson();

            SendMassMessageResult result = JsonHelper<sendmassmessageresult>.ConvertJson(postUrl, postData);
            return result;
        }</sendmassmessageresult>

发送模板的消息相对其他两个接口的使用复杂一些,例如我以一个会员通知的模板消息为例,模板的详细情况如下:

C#开发微信门户及应用公众号模板消息管理

具体的测试代码如下所示。

#region 发送模板消息

            var data = new
            {
                //使用TemplateDataItem简单创建数据。
                first = new TemplateDataItem("您好,您已成为微信【广州爱奇迪】会员。"),
                type = new TemplateDataItem("18620292076"),
                address = new TemplateDataItem("广州市白云区广州大道北"),
                VIPName = new
                {
                    //使用new 方式,构建数据,包括value, color两个固定属性。
                    value = "伍华聪",
                    color = "#173177"
                },
                VIPPhone = new TemplateDataItem("18620292076"),
                expDate = new TemplateDataItem("2016年4月18日"),
                remark = new TemplateDataItem("如有疑问,请咨询18620292076。", "#173177"),
            };

            #endregion
            string url = "http://www.iqidi.com";
            string topColor = "#173177";

            string templateId = "-5LbClAa9KUlEmr5bCSS0rxU_I2iT16iYBDxCVU1iJg";
            SendMassMessageResult sendResult = api.SendTemplateMessage(token, openId, templateId, data, url, topColor);
            if(sendResult != null)
            {
                Console.WriteLine(sendResult.msg_id);
            }

那么我们得到的提示效果如下所示。

C#开发微信门户及应用公众号模板消息管理

微信模板消息,能够让我们与客户之间沟通不受每月几条数量的限制,同时也能够利用微信模板库丰富的内容,实现强大的应用场景。

更多C#开发微信门户及应用公众号模板消息管理 相关文章请关注PHP中文网! 

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。