ホームページ  >  記事  >  WeChat アプレット  >  Force.com WeChat 開発シリーズのカスタマー サービス インターフェイス

Force.com WeChat 開発シリーズのカスタマー サービス インターフェイス

高洛峰
高洛峰オリジナル
2017-02-25 16:41:241731ブラウズ

ユーザーが WeChat 公開アカウントに積極的にメッセージを送信すると (メッセージの送信、カスタム メニューのクリック イベント、サブスクリプション イベント、QR コードのスキャン イベント、支払い成功イベント、ユーザー権利保護を含む)、WeChat はメッセージ データを開発開発者にプッシュします。一定期間 (現在 48 時間) 内にカスタマー サービス メッセージ インターフェイスを呼び出し、JSON データ パケットを POST して一般ユーザーにメッセージを送信できます。48 時間以内の送信回数に制限はありません。このインターフェイスは、開発者がより良いサービスを提供できるように、手動のメッセージ処理が必要なカスタマー サービスなどの機能に主に使用されます。

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

カスタマーサービスインターフェース呼び出しのインターフェース説明は次のとおりです (http リクエストメソッドは POST) アクセストークンを取得したい場合は、前の説明を参照してください:

https ://api.weixin.qq.com/ cgi-bin/message/custom/send?access_token=[ACCESS_TOKEN]

カスタマー サービス インターフェイスは、想像力の余地を大きく提供します。たとえば、エンタープライズ カスタマー サービス ソリューションを開発できます。これに基づいて、ユーザーが WeChat パブリック アカウントにサポート リクエストを送信すると、カスタマー サービス スタッフはこの情報を受信し、Web ページ、モバイル アプリケーション、WeChat などを通じてさらに処理することができます。カスタマー サービス スタッフも待機するか、設定することができます。ユーザーの VIP レベルに応じて、さまざまなレベルのサービス応答速度を提供するなど、非常にインテリジェントな顧客サービス サポート システムを構築します。

ユーザーにテキストメッセージを送信します

ユーザーにテキストメッセージを送信する場合、送信されるデータ形式は次のとおりです:

 { "touser":"OPENID", "msgtype":"text", "text": { "content":"Hello World" } }

このうち、各パラメータの具体的な説明は次のとおりです:

Force.com WeChat 開発シリーズのカスタマー サービス インターフェイス

Force.com でユーザにテキストを送信する メッセージのコード実装は次のとおりです:

Http h = new Http(); 
HttpRequest req = new HttpRequest(); 
req.setMethod('POST'); 
req.setHeader('Accept-Encoding','gzip,deflate'); 
req.setHeader('Content-Type','text/xml;charset=UTF-8'); 
req.setHeader('User-Agent','Jakarta Commons-HttpClient/3.1');

String sendMsg = '{ "touser":"ou-37t936RNZEcW0mI75RN2pdxkc", "msgtype":"text", "text": { "content":"测试客服消息" } }';

req.setBody(sendMsg); 
req.setEndpoint('https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=bW3aubvd1GVgDZbrO6zv1WGVYIU0QlEhI1J5x_NpbiouxyBc8eufzQQHHyy8cMoZmuQknz-_iEgSB76CggVTgQ’);

String bodyRes = ''; 
        
        try{ 
            HttpResponse res = h.send(req); 
            bodyRes = res.getBody(); 
        } 
        catch(System.CalloutException e) { 
            System.debug('Callout error: '+ e); 
            ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.FATAL, e.getMessage())); 
        }

);

上記のコードを実行すると、結果は図に示すようになります:

Force.com WeChat 開発シリーズのカスタマー サービス インターフェイス

画像メッセージをユーザに送信する

ユーザーにグラフィックメッセージを送信する場合、送信されるデータ形式は次のとおりです:

{
    "touser":"OPENID",
    "msgtype":"image",
    "image":
    {
      "media_id":"MEDIA_ID"
    }
}

ここで、各パラメータの具体的な説明は次のとおりです:

Force.com WeChat 開発シリーズのカスタマー サービス インターフェイス

画像のメディア ID は、後で取得する必要があります。 Tencent のマルチメディア ファイルのアップロード インターフェイスを介して画像をアップロードする。この例の具体的な例は、後の「マルチメディア ファイルのアップロードとダウンロード」の例で説明します。

ユーザーに音声メッセージを送信します

ユーザーに音楽を送信する場合、データ形式は次のとおりです:

{
    "touser":"OPENID",
    "msgtype":"voice",
    "voice":
    {
      "media_id":"MEDIA_ID"
    }
}

このうち、各パラメータの具体的な説明は次のとおりです:

Force.com WeChat 開発シリーズのカスタマー サービス インターフェイス

画像は Tencent のマルチメディアを介してアップロードする必要があります。これは、ファイル インターフェイスを介して画像をアップロードした後に取得されます。他のコードはテキスト メッセージの送信と変わらないため、ここでは詳しく説明しません。

ユーザーに音声メッセージを送信します

ユーザーにビデオを送信するためのメッセージ形式は次のとおりです:

{
    "touser":"OPENID",
    "msgtype":"video",
    "video":
    {
      "media_id":"MEDIA_ID",
      "thumb_media_id":"MEDIA_ID",
      "title":"TITLE",
      "description":"DESCRIPTION"
    }
}

このうち、各パラメータの具体的な説明は次のとおりです:

Force.com WeChat 開発シリーズのカスタマー サービス インターフェイス

メディアビデオの ID は、Tencent のマルチメディア ファイルを介してアップロードする必要があります。これは、インターフェイスを介して画像をアップロードした後に取得されます。その他のコードはテキスト メッセージの送信と変わらないため、ここでは詳しく説明しません。

ユーザーに音楽メッセージを送信する

ユーザーに音楽を送信するためのメッセージの形式は次のとおりです:

{
    "touser":"OPENID",
    "msgtype":"music",
    "music":
    {
      "title":"MUSIC_TITLE",
      "description":"MUSIC_DESCRIPTION",
      "musicurl":"MUSIC_URL",
      "hqmusicurl":"HQ_MUSIC_URL",
      "thumb_media_id":"THUMB_MEDIA_ID" 
    }
}

その中で、各パラメータの具体的な説明は次のとおりです:

Force.com WeChat 開発シリーズのカスタマー サービス インターフェイス

ユーザーにグラフィックメッセージを送信する

画像を送信するには段落を投稿してください。テキスト メッセージのコードは次のとおりです:

Http h = new Http(); 
 HttpRequest req = new HttpRequest(); 
 req.setMethod('POST'); 
 req.setHeader('Accept-Encoding','gzip,deflate'); 
 req.setHeader('Content-Type','text/xml;charset=UTF-8'); 
 req.setHeader('User-Agent','Jakarta Commons-HttpClient/3.1');
 
 String sendMsg = '{"touser":"ou-37t936RNZEcW0mI75RN2pdxkc","msgtype":"news","news":{"articles":[{"title":"HappyDay","description":"IsReallyAHappyDay","url":"http://www.36kr.com/p/212479.html","picurl":"http://a.36krcnd.com/photo/2014/4e3ae0dac4884bb91934a689b72f8f8b.png"}]}}';
 
 req.setBody(sendMsg); 
 req.setEndpoint('https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=bW3aubvd1GVgDZbrO6zv1WGVYIU0QlEhI1J5x_NpbiouxyBc8eufzQQHHyy8cMoZmuQknz-_iEgSB76CggVTgQ’);
 
 String bodyRes = ''; 
         
         try{ 
             HttpResponse res = h.send(req); 
             bodyRes = res.getBody(); 
         } 
         catch(System.CalloutException e) { 
             System.debug('Callout error: '+ e); 
             ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.FATAL, e.getMessage())); 
        }

);

Force.com WeChat 開発シリーズのカスタマー サービス インターフェイスに関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

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