WeChat ミニ プログラム API はメッセージとイベントを受信します
メッセージとイベントを受信します
ページ上で<contact-button/>
を使用して、カスタマーサービスセッションに入るボタンを表示します。
ユーザーがカスタマー サービス セッションでメッセージを送信する (または特定のユーザー操作によって引き起こされるイベントをプッシュする) と、WeChat サーバーは、メッセージ (またはイベント) パケット (JSON または XML 形式) を、開発者。 。リクエストを受信した後、開発者はカスタマー サービス メッセージ インターフェイスを使用して非同期に応答できます。
WeChat サーバーがユーザーのメッセージをミニ プログラムの開発者サーバー アドレス (開発設定で構成) に送信した後、WeChat サーバーが 5 秒以内に応答を受信しない場合、WeChat サーバーは切断されてリクエストを再開始し、3 回再試行します。デバッグ中にユーザーが応答メッセージを受信できないことが判明した場合は、メッセージ処理がタイムアウトしたかどうかを確認できます。再試行メッセージの重複排除に関しては、msgid を使用してメッセージを重複排除することをお勧めします。重複を排除するために、イベント タイプのメッセージには FromUserName + CreateTime を使用することをお勧めします。
サーバーがリクエストを受信し、#カスタマーサービスツールに転送する必要がない場合#は、WeChatサーバーがそれに対して何もせず、再試行を開始しないように、次の応答を行う必要があります。 、重大なエラー メッセージが表示されます。詳細については、以下の手順を参照してください:
1、直接回复success(推荐方式) 2、直接回复空串(指字节长度为0的空字符串,而不是结构体中content字段的内容为空)
次の状況が発生すると、WeChat はミニ プログラム セッションでユーザーにシステム プロンプトを発行します。「このミニ プログラム カスタマー サービスは一時的にサービスを提供できません。後でもう一度お試しください。」:
1、开发者在5秒内未回复任何内容 2、开发者回复了异常数据
開発された場合 メッセージまたはイベントをカスタマー サービス ツールに転送する場合は、「カスタマー サービス ツールへのメッセージの転送」を参照してください。カスタマー サービス ツールにアクセスするには、カスタマー サービス ツールの手順を参照してください
開発者がセキュリティを強化したい場合は、開発者センターでメッセージの暗号化を有効にすることができます。これにより、ユーザーがミニ プログラムに送信するメッセージと、ミニ プログラムへの受動的な返信が暗号化されます。ミニ プログラムによるユーザー メッセージは引き続き暗号化されます。詳細については、「メッセージの暗号化と復号化の手順」を参照してください。
各メッセージタイプのプッシュJSONおよびXMLデータパケット構造は次のとおりです。
テキストメッセージ
ユーザーがカスタマーサービスセッションでテキストメッセージを送信すると、次のデータパケットが生成されます:
XML形式
<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>1482048670</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[this is a test]]></Content> <MsgId>1234567890123456</MsgId> </xml>
JSON形式
{ "ToUserName": "toUser", "FromUserName": "fromUser", "CreateTime": 1482048670, "MsgType": "text", "Content": "this is a test", "MsgId": 1234567890123456 }
パラメータの説明
画像メッセージ
カスタマーサービスセッション中のユーザー 画像メッセージを送信すると、次のデータパケットが生成されます:
XML形式
<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>1482048670</CreateTime> <MsgType><![CDATA[image]]></MsgType> <PicUrl><![CDATA[this is a url]]></PicUrl> <MediaId><![CDATA[media_id]]></MediaId> <MsgId>1234567890123456</MsgId> </xml>
JSON形式
{ "ToUserName": "toUser", "FromUserName": "fromUser", "CreateTime": 1482048670, "MsgType": "image", "PicUrl": "this is a url", "MediaId": "media_id", "MsgId": 1234567890123456 }
パラメータの説明
セッションイベントを入力
ユーザーがミニ プログラム「カスタマー サービス セッション ボタン」を介してカスタマー サービス セッションを実行すると、次のデータ パッケージが生成されます:
XML形式
<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>1482048670</CreateTime> <MsgType><![CDATA[event]]></MsgType> <Event><![CDATA[user_enter_tempsession]]></Event> <SessionFrom><![CDATA[sessionFrom]]></SessionFrom> </xml>
JSON形式
{ "ToUserName": "toUser", "FromUserName": "fromUser", "CreateTime": 1482048670, "MsgType": "event", "Event": "user_enter_tempsession", "SessionFrom": "sessionFrom" }
パラメータの説明
メッセージをカスタマーサービスツールに転送します
開発者がメッセージを処理のためにカスタマーサービスツールに転送することを希望する場合は、応答パッケージを返してください以下の構造によると。応答パケットのデータ形式(XMLまたはJSON)は、受信メッセージの設定データ形式と一致している必要があります。
XML形式
<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>1482048670</CreateTime> <MsgType><![CDATA[transfer_customer_service]]></MsgType> </xml>
JSON形式
{ "ToUserName": "toUser", "FromUserName": "fromUser", "CreateTime": 1482048670, "MsgType": "transfer_customer_service", }