대화 구성 요소는 채팅 내에서 제공되는 기능으로, 비즈니스 전화번호에서 활성화할 수 있습니다. 이 기능을 사용하면 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으로 리디렉션됩니다. 여기에서 서비스와 소통하는 방법을 보여주는 맞춤형 프롬프트 세트 중에서 선택할 수 있습니다.
비즈니스 전화번호에는 최대 4개의 아이스 브레이커를 구성할 수 있습니다. 각 아이스 브레이커는 80자 이내여야 합니다. 이모지는 지원되지 않습니다.
사용자가 아이스 브레이커를 누르면 표준 수신 메시지 Webhooks가 트리거됩니다. 이때 아이스 브레이커 문자열이 페이로드의 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를 입력하면 해당 텍스트 문자열이 body
속성에 할당된 수신 메시지 Webhooks를 트리거합니다. 그러면 화성을 달리는 자동차의 이미지를 생성하여 반환할 수 있습니다.
명령어는 최대 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에는 두 개의 엔드포인트가 있습니다.
POST </PHONE_NUMBER_ID>/conversational_automation
은 지정된 전화번호에서 대화 구성 요소를 구성하는 데 사용합니다.
GET /<PHONE_NUMBER_ID>/conversational_automation
은 지정된 전화번호에서 enable_welcome_message, commands, prompts 필드에 대한 현재 값을 반환합니다.
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 Business 계정의 전화번호 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
Webhooks가 트리거됩니다.