会話コンポーネントとは、ビジネス電話番号で有効にできるチャット内の機能のことです。この機能を使うと、WhatsAppユーザーがビジネスとやり取りしやすくなります。使いやすいコマンドを設定したり、ユーザーがタップできる、事前設定されたアイスブレイカーを用意したり、初めてのユーザーにウェルカムメッセージであいさつしたりすることができます。
WhatsAppユーザーが、定形テキストが設定されているユニバーサルリンク(つまりwa.meリンク)をタップすると、アイスブレイカーのユーザーインターフェイスは自動的に閉じます。
WhatsAppマネージャで以下の手順を実行して、選択した特定の電話番号に対してこれらの機能をすべて設定することができます。
WhatsAppマネージャで顧客のWhatsApp Businessアカウントにアクセスできるソリューションパートナーも、顧客のためにこれらの機能を設定できます。
現在、ウェルカムメッセージは意図したとおりに機能しません。
残念ながら、この機能が今後実装される時期については未定です。
タイプが自由形式、インタラクティブ、テンプレートのメッセージは、いずれもウェルカムメッセージとして送信できます。分類されたメッセージの価格が適用されます。
WhatsAppユーザーによって初めてあなたとの間でチャットが開かれたときに、必ずWebhooksで通知を受け取ることができます。これは、自分でデザインした特別なウェルカムメッセージで初めてのユーザーに返信したい場合に便利です。
ウェルカムメッセージは、カスタマーサポートやアカウントサービスなど、サービスインタラクションに最適です。例えば、アプリやウェブサイトにWhatsAppボタンを埋め込むことができます。ユーザーがボタンをタップすると、WhatsAppにリダイレクトされ、あなたとどのようにやり取りできるかに関する情報が含まれたウェルカムメッセージを受け取ります。
この機能を有効にすると、ユーザーがメッセージを送信したときに、WhatsAppクライアントがユーザーとビジネス電話番号との間に既存のメッセージスレッドがないかチェックします。ない場合、クライアントは、type
をrequest_welcome
に設定して、messages
Webhooksをトリガーします。それから、独自のウェルカムメッセージでユーザーに返信することができます。
request_welcome
Webhooksはカスタマーサービス時間枠をトリガーします。この期間内に、ビジネスは顧客への返信の際に自由形式のメッセージを送ることができます。
ウェルカムメッセージとしてのカルーセルテンプレートメッセージ
{ "object": "whatsapp_business_account", "entry": [ { "id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>", "changes": [ { "value": { "messaging_product": "whatsapp", "metadata": { "display_phone_number": "<BUSINESS_DISPLAY_PHONE_NUMBER>", "phone_number_id": "<BUSINESS_PHONE_NUMBER_ID>" }, "contacts": [ { "profile": { "name": "<WHATSAPP_USER_NAME>" }, "wa_id": "<WHATSAPP_USER_ID>" } ], "messages": [ { "from": "<WHATSAPP_USER_PHONE_NUMBER_ID>", "id": "<WHATSAPP_MESSAGE_ID>", "timestamp": "<TIMESTAMP>", "type": "request_welcome" // Indicates first time message from WhatsApp user } ] }, "field": "messages" } ] } ] }
アイスブレイカーとは、ユーザーと初めてチャットしたときのメッセージスレッドに表示される、カスタマイズ可能でタップ可能なテキスト文字列のことです。例えば、「旅行を計画する」や「ワークアウトプランを作る」とすることができます。
アイスブレイカーは、カスタマーサポートやアカウントサービスなど、サービスインタラクションに最適です。例えば、アプリやウェブサイトにWhatsAppボタンを埋め込むことができます。ユーザーがボタンをタップすると、WhatsAppにリダイレクトされます。そこで、サービスとのやり取りの方法を示す、カスタマイズ可能な一連のプロンプトから選択することができます。
1件のビジネス電話番号につき最大4つのアイスブレイカーを設定できます。各アイスブレイカーには最大80文字を含めることができます。絵文字はサポートされていません。
ユーザーがアイスブレイカーをタップすると、標準の受信メッセージWebhookがトリガーされます。そのペイロードには、body
プロパティに割り当てられたアイスブレイカー文字列が含まれています。ユーザーがアイスブレイカーをタップするのではなく直接メッセージを送ろうとすると、キーボードがオーバーレイとして表示されます。キーボードを閉じると、アイスブレイカーのメニューが再び表示されます。
WhatsAppユーザーが、定型テキストが設定されているユニバーサルリンク(wa.meリンクかapi.whatsapp.comリンク)をタップすると、アイスブレイカーのユーザーインターフェイスは自動的に閉じます。
{ "object": "whatsapp_business_account", "entry": [ { "id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>", "changes": [ { "value": { "messaging_product": "whatsapp", "metadata": { "display_phone_number": "<BUSINESS_DISPLAY_PHONE_NUMBER>", "phone_number_id": "<BUSINESS_PHONE_NUMBER_ID>" }, "contacts": [ { "profile": { "name": "<WHATSAPP_USER_NAME>" }, "wa_id": "<WHATSAPP_USER_ID>" } ], "messages": [ { "from": "<WHATSAPP_USER_PHONE_NUMBER_ID>", "id": "<WHATSAPP_MESSAGE_ID>", "timestamp": "<TIMESTAMP>", "text": { "body": "Plan a trip" }, "type": "text" } ] }, "field": "messages" } ] } ] }
コマンドとは、WhatsAppユーザーがビジネスとのメッセージスレッドにスラッシュを入力することで表示できるテキスト文字列です。
コマンドは、コマンド自体と、ユーザーがコマンドを実行するとどうなるかを示すヒントで構成されます。例えば、次のようにコマンドを定義することができます。
/imagine - Create images using a text prompt
WhatsAppユーザーが/imagine cars racing on Marsと入力すると、受信メッセージWebhookが起動して、body
プロパティにそのテキスト文字列が割り当てられます。そうすると、火星でレースしている車の画像を生成して返すことができます。
最大30のコマンドを定義できます。各コマンドは最大32文字、各ヒントは最大256文字です。絵文字はサポートされていません。
{ "object": "whatsapp_business_account", "entry": [ { "id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>", "changes": [ { "value": { "messaging_product": "whatsapp", "metadata": { "display_phone_number": "<BUSINESS_DISPLAY_PHONE_NUMBER>", "phone_number_id": "<BUSINESS_PHONE_NUMBER_ID>" }, "contacts": [ { "profile": { "name": "<WHATSAPP_USER_NAME>" }, "wa_id": "<WHATSAPP_USER_ID>" } ], "messages": [ { "from": "<WHATSAPP_USER_PHONE_NUMBER_ID>", "id": "<WHATSAPP_MESSAGE_ID>", "timestamp": "<TIMESTAMP>", "text": { "body": "/imagine cars racing on Mars" }, "type": "text" } ] }, "field": "messages" } ] } ] }
APIを使用すると、会話コンポーネントを設定して、設定された値を表示することもできます。
会話コンポーネントAPIには次の2つのエンドポイントがあります。
POST </PHONE_NUMBER_ID>/conversational_automation
は、指定された電話番号の会話コンポーネントを設定するために使用されます。
GET /<PHONE_NUMBER_ID>/conversational_automation
は、enable_welcome_message、コマンド、プロンプトフィールドの現在の値を返します。
POSTエンドポイントを呼び出して、指定された電話番号の会話コンポーネントを設定することができます。
// Enable or disable the Welcome Message for the given phone number ID POST /<PHONE_NUMBER_ID>/conversational_automation?enable_welcome_message=<ENABLE_DISABLE> // Configure Commands with names and descriptions POST /<PHONE_NUMBER_ID>/conversational_automation?commands=<COMMAND_LIST> // Configure Prompts POST /<PHONE_NUMBER_ID>/conversational_automation?prompts=<PROMPT>
プレースホルダー | 説明 | 値の例 |
---|---|---|
整数 | 必須。 WhatsAppビジネスアカウントの電話番号ID。 |
|
ブーリアン | 任意。 電話番号のウェルカムメッセージを有効または無効にするためのブーリアン。 |
|
JSON | 任意。 設定するコマンドのリスト。 | "commands": { "command_name": "generate" "command_description": "Create a new image", “command_name”: “rethink” “command_description”: “Generate new images from existing images”, } |
文字列のリスト | 任意。 設定するプロンプト。 |
|
curl -X POST \ 'https://graph.facebook.com/v19.0/PHONE_NUMBER_ID/conversational_automation' \ -H 'Authorization: Bearer ACCESS_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "enable_welcome_message": true/false, "commands": [ { "command_name": "tickets", "command_description": "Book flight tickets", }, { "command_name": "hotel", "command_description": "Book hotel", } ], "prompts": ["Book a flight","plan a vacation"] }'
{ "success": true }
GETエンドポイントを呼び出して、指定された電話番号の会話コンポーネントの現在の設定を表示することができます。
GET /<PHONE_NUMBER_ID>?fields=conversational_automation
{ "conversational_automation": { "enable_welcome_message": true "prompts": [ "Find the best hotels in the area", "Find deals on rental cars" ], "commands": [ { "command_name": "tickets", "command_description": "Book flight tickets", }, { "command_name": "hotel", "command_description": "Book hotel", } ], } "id": "123456" }
会話コンポーネントの設定が完了した後にテストするには、WhatsAppクライアントを開き、ビジネス電話番号とのチャットを開きます。
ウェルカムメッセージとアイスブレイカーでは、そのビジネス電話番号とのチャットスレッドがすでにある場合、まずそのチャットスレッドを削除する必要があります。
それから、ビジネス電話番号にメッセージを送ることができます。送信すると、request_welcome
Webhookがトリガーされます。