2024年5月9日より、チャットプラグインのすべての機能を利用できなくなります。ゲストモードのチャットプラグインは、現時点で利用できなくなっています。m.meリンクなど、その他の機能はまだご利用いただけます。
このドキュメントでは、プログラムを使ってチャットプラグインをウェブサイト上のMessengerエクスペリエンスに追加する方法について説明します。
Meta Business Suiteを使用してチャットプラグインをウェブページに追加する場合(推奨)は、Metaビジネスヘルプセンターで詳しい情報をご覧ください。
JavaScript用Facebook SDKをウェブページにインストールすると、チャットプラグインがウェブページにレンダリングされます。デフォルトでは、デスクトップとモバイルにあいさつダイアログが表示され、閉じるボタンをクリックしてそのダイアログを最小化できます。プラグインのあいさつの言葉、外観(色など)やメッセージエクスペリエンス(メニューやクイック返信など)をカスタマイズできます。ダイアログの状態(最大化または最小化か)はキャッシュに入れられ、セッション間で引き継がれます。
利用者がFacebookにログインすると、プラグインによって[[名前]として続行]ボタンと[ゲストとして続行]ボタンが表示されます。利用者がFacebookにログインしていないと、プラグインによって[Messengerにログインする]ボタンと[ゲストとして続行]ボタンが表示されます。
ユーザーがプラグインをクリックしてビジネスとのチャットを開始するかチャットを継続すると、次の内容のWebhook通知がサーバーに送信されます。
ようこそ画面がプラグインに実装されており、利用者が[スタート]ボタンをクリックしてビジネスとのスレッドを開始した場合、messaging_postbacks
Wehbhook通知がサーバーに送信されます。その後ビジネスは、24時間の標準メッセージ時間枠内にユーザー参照IDを使ってメッセージを利用者に送信できます。
利用者とビジネスの間に既存のスレッドがある場合は、そのチャット履歴が自動的にプラグインに読み込まれます。利用者がそのスレッドを続行し、メッセージの送信、ボタンのクリック、スレッドに実装されているその他のアクションのいずれかを実行すると、messaging
Webhook通知がサーバーに送信されます。リファーラル情報を含める場合は、messaging_referral
Wehbhook通知が送信されます。その後ビジネスは、24時間の標準メッセージ時間枠内にPSIDを使用してメッセージをユーザーに送信できます。
|
|
|
プラグインでは次のものはサポートされていません。
|
|
|
このガイドは、Messengerプラットフォームの概要を読み、メッセージと通知の送受信に必要なコンポーネントを実装した人を対象にしています。
以下の情報が必要です。
pages_messaging
アクセス許可
MODERATE
タスクを実行できる人からリクエストされたページアクセストークン
messaging
、messaging_postbacks
、messaging_referrals
Webhooksフィールドにサブスクリプション登録されてているFacebookページにリンクされたアプリ
チャットプラグインの使用に関連する行為には、Metaビジネスツール利用規約が適用されます。
JavaScript用Facebook SDKを、プラグインをレンダリングするウェブサイトの各ページに追加します。
<!-- Messenger Chat Plugin Code --> <div id="fb-root"></div> <div id="fb-customer-chat" class="fb-customerchat"></div> <script> var chatbox = document.getElementById('fb-customer-chat'); chatbox.setAttribute("page_id", "PAGE-ID"); chatbox.setAttribute("attribution", "biz_inbox"); </script> <script> window.fbAsyncInit = function() { FB.init({ xfbml : true, version : 'API-VERSION' }); }; (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = 'https://connect.facebook.net/en_US/sdk/xfbml.customerchat.js'; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); </script>
/PAGE-ID/chat_plugin
エンドポイントにPOST
リクエストを送信し、プラグインのあいさつ、色、アイコンなどをカスタマイズします。
curl -i -X POST "https://graph.facebook.com/v21.0
/PAGE-ID/chat_plugin
?welcome_screen_greeting:YOUR-WELCOME-TEXT
&theme_color:553399
&entry_point_icon:MESSENGER-ICON
&entry_point_label:CHAT
&access_token=PAGE-ACCESS-TOKEN"
プラグインのカスタマイズに使用するフィールドの詳細については、 チャットプラグインのリファレンスをご覧ください。
この方法は、ページ設定セットアップツールや前述のAPIでは対応できないカスタマイズに関してのみ利用することをおすすめします。
属性 | 説明 |
---|---|
| 任意。チャットプラグインアイコンの背景色やユーザーが送信するメッセージの背景色など、プラグインのテーマとして使用する色。先頭に番号記号が付いた16進数のカラーコード(白を除く)がサポートされています(例: #0084FF)。白とのコントラストが高い色を選ぶことを強くおすすめします。 |
| 任意。ユーザーがFacebookにログインしている場合に表示されるあいさつメッセージ。80文字以内。 |
| 任意。ユーザーがFacebookにログインしていない場合に表示されるあいさつメッセージ。最大80文字。 |
| 任意。プラグインとあいさつダイアログの表示方法を設定します。サポートされている値は次のとおりです。
プラグインのデフォルト設定は、デスクトップでもモバイルでも、 |
| 任意。プラグインの読み込み後にあいさつダイアログが表示されるまでの秒数を設定します。この設定を使用して、あいさつダイアログが表示されるタイミングをカスタマイズできます。 |
| 任意。webhookイベントで差し戻す追加のコンテキストを含めたい場合は、オプションで参照パラメーターを渡すことができます。これはさまざまな用途に使用できます。例えば、ユーザーがスレッドを開始したページをトラッキングして、そのユーザーをボット内からアクセスできる特定のコンテンツや機能に誘導したり、Messengerユーザーをウェブサイトのセッションやアカウントに結びつけたりすることができます。 |
ビジネスにメッセージが送信されると、サーバーにWebhook通知が届きます。
ビジネスとの既存のスレッドにメッセージが送信されると、messaging
Webhook通知が届きます。通知には、送信者のPage-scoped IDと、customer_chat_plugin
に設定されたtags
オブジェクトのsource
パラメーターが含まれます。
{
"object": "page",
"entry": [
{
"id": "PAGE-ID",
"time": 1559598624359,
"messaging": [
{
"sender": {
"id": "PSID"
},
"recipient": {
"id": "PAGE-ID"
},
"timestamp": 1559598623749,
"message": {
"tags": {
"source": "customer_chat_plugin"
},
"mid": "nhEqs_THGoYyAhpK93uNCrIfLZD...",
"text": "hello, from customer chat!"
}
}
]
}
]
}
チャットプラグインのref
属性が設定されている場合、サーバーにmessaging_referrals
Webhook通知が届きます。
{ "object": "page", "entry": [ { "id": "PAGE-ID", "time": 1559598385735, "messaging": [ { "recipient": { "id": "PAGE-ID" }, "timestamp": 1559598385735, "sender": { "user_ref":"USER-REFERENCE-ID" }, "referral": { "ref": "REF-PARAMETER-INFORMATION", "source": "CUSTOMER_CHAT_PLUGIN", "type": "OPEN_THREAD", "referer_uri": "REFERRAL-URI" } } ] } ] }
プラグインの[ようこそ]画面の[スタート]ボタンをクリックしてスレッドが始まると、messaging_postbacks
Webhook通知が届きます。
{ "object": "page", "entry": [ { "id": "PAGE-ID", "time": 1559598624359, "messaging": [ { "sender": { "user_ref": "USER-REFERENCE-ID" }, "recipient": { "id": "PAGE-ID" }, "timestamp": 1559598623749, "postback":{ "title": "TITLE-FOR-THE-CTA", "payload": "PAYLOAD-DEFINED-BY-CTA", "referral": { "ref": "ADDITIONAL-INFORMATION", "source": "CUSTOMER_CHAT_PLUGIN", "type": "OPEN_THREAD", } } ] } ] }
マーケティングメッセージのオプトインリクエストの作成方法については、マーケティングメッセージガイドをご覧ください。
チャットプラグインのマーケティングメッセージでサポートされているのは、アップデートとプロモーションのトピックだけです。
ビジネスからのマーケティングメッセージを受け取ることを利用者がオプトインすると、そのビジネスのサーバーにmessaging_optins
Webhook通知が届きます。
"object": "page", "entry": [ { "id": "PAGE-ID", "time": TIMESTAMP, "messaging": [ { "recipient": { "id": "PAGE-ID" }, "timestamp": TIMESTAMP, "optin": { "type": "notification_messages", "payload": "empty_payload", "notification_messages_token": "NOTIFICATION-MESSAGE-TOKEN", "notification_messages_frequency": "MESSAGE-FREQUENCY", "topic": "NOTIFICATION-MESSAGE-TOPIC", "token_expiry_timestamp": EXPIRATION-DATE-TIMESTAMP, "ref": "ADDITIONAL-INFORMATION", "user_token_status": "NOT_REFRESHED", "notification_messages_status": "RESUME_NOTIFICATIONS" } } ] } ] }
notification_messages_token
の値をrecipient
オブジェクト内のID値に設定して、マーケティングメッセージを利用者に送信できます。
Referrer-Policy
ヘッダーが設定されていることを確認します。