버튼

대부분 메시지 템플릿고정 메뉴는 여러 가지 행동을 호출하는 버튼을 지원합니다. 이 버튼을 사용하면 메시지를 받는 사람에게 Messenger 웹 보기 열기, 결제 플로 시작, 개발자의 Webhooks에 포스트백 메시지 보내기 등 템플릿에 대한 응답으로 취할 수 있는 행동을 쉽게 제공할 수 있습니다.

메시지 템플릿의 버튼은 buttons 배열의 개체로 정의됩니다. 고정 메뉴의 버튼은 call_to_actions 배열의 개체로 정의됩니다.

URL 버튼

URL 버튼을 누르면 Messenger 웹 보기에 웹페이지가 열립니다. 따라서 웹 기반 경험에서 대화를 확장하여 웹의 유연성을 완전히 활용하여 개발할 수 있습니다. 예를 들어 대화 내에 제품 요약을 표시한 다음 URL 버튼을 사용하여 웹사이트에 전체 제품 페이지를 열 수 있습니다.

사이트에 앱 링크가 있는 경우 버튼을 누르면 특정 네이티브 앱이 시작됩니다.

리디렉션이 작동하려면 Facebook 크롤러가 앱 링크 메타 태그를 읽어야 합니다. 방금 웹사이트에 태그를 구현했다면 공유 디버거 도구로 새 스크랩을 요청할 수 있습니다. 크롤러가 사이트를 스크랩한 후 전송된 새 URL 버튼은 리디렉션 동작을 따라야 합니다.

지원되는 용도

URL 버튼은 다음 항목과 함께 사용할 수 있습니다.

  • 고정 메뉴
  • 일반 템플릿
  • 리스트 템플릿
  • 버튼 템플릿
  • 미디어 템플릿

Messenger 확장 기능 SDK - 필수 도메인 화이트리스트

Messenger 웹 보기에서 Messenger Extensions SDK를 활성화하고 웹페이지를 표시하려면 반드시whitelisted_domains봇의 Messenger 프로필 속성에서 도메인(하위 도메인 포함)을 화이트리스트에 추가해야 합니다. 그러면 신뢰하는 도메인만 SDK 함수를 통해 제공되는 사용자 정보에 액세스할 수 있습니다.

도메인을 화이트리스트에 추가하는 방법에 대한 자세한 내용은 whitelisted_domains 참고 자료를 참조하세요.

버튼 형식

버튼 속성의 전체 리스트는 URL 버튼 참고 자료를 참조하세요.

{
  "type": "web_url",
  "url": "

포스트백 버튼

포스트백 버튼은 messaging_postbacks 이벤트를 payload 속성에 설정된 문자열과 함께 Webhooks로 보냅니다. 따라서 사용자가 버튼을 누를 때 임의의 행동을 취할 수 있습니다. 예를 들어 제품의 리스트를 표시한 다음 포스트백의 제품 ID를 Webhooks에 보낼 수 있습니다. 제품 ID는 데이터베이스를 검색하고 제품 상세 정보를 구조화된 메시지로 반환하는 데 사용될 수 있습니다.

지원되는 용도

포스트백 버튼은 다음 항목과 함께 사용할 수 있습니다.

  • 고정 메뉴
  • 일반 템플릿
  • 리스트 템플릿
  • 버튼 템플릿
  • 미디어 템플릿

버튼 형식

버튼 속성의 전체 리스트는 포스트백 버튼 참고 자료를 참조하세요.

{
  "type": "postback",
  "title": "

통화 버튼

통화 버튼을 누르면 전화번호로 전화를 겁니다. 전화번호는 +<COUNTRY_CODE><PHONE_NUMBER> 형식(예: +15105559999)이어야 합니다.

지원되는 용도

통화 버튼은 다음 항목과 함께 사용할 수 있습니다.

  • 일반 템플릿
  • 리스트 템플릿
  • 버튼 템플릿
  • 미디어 템플릿

버튼 형식

버튼 속성의 전체 리스트는 통화 버튼 참고 자료를 참조하세요.

{
  "type":"phone_number",
  "title":"

로그인 버튼

로그인 버튼은 계정 연결 플로에서 사용됩니다. 계정 연결 플로에서는 인증을 위해 메시지 받는 사람을 웹 기반 로그인 플로로 보내 메시지 받는 사람의 Messenger ID를 개발자 사이트의 해당 계정과 연결할 수 있습니다.

로그인 버튼을 계정 연결에 사용하는 데 대한 자세한 내용은 계정 연결을 참조하세요.

지원되는 용도

로그인 버튼은 다음 항목과 함께 사용할 수 있습니다.

  • 일반 템플릿
  • 리스트 템플릿
  • 버튼 템플릿
  • 미디어 템플릿

버튼 형식

버튼 속성의 전체 리스트는 로그인 버튼 참고 자료를 참조하세요.

{
  "type": "account_link",
  "url": "

로그아웃 버튼

로그아웃 버튼은 계정 연결 플로에서 메시지 받는 사람의 Messenger ID와 개발자 사이트의 해당 계정 연결을 해제하기 위해 사용됩니다.

로그아웃 버튼을 계정 연결 해제에 사용하는 데 대한 자세한 내용은 계정 연결을 참조하세요.

지원되는 용도

로그아웃 버튼은 다음 항목과 함께 사용할 수 있습니다.

  • 일반 템플릿
  • 리스트 템플릿
  • 버튼 템플릿
  • 미디어 템플릿

버튼 형식

버튼 속성의 전체 리스트는 로그아웃 버튼 참고 자료를 참조하세요.

{
  "type": "account_unlink"
}

게임 플레이 버튼

게임 플레이 버튼을 누르면 개발자의 Facebook 페이지와 연결된 인스턴트 게임이 시작됩니다. 게임이 열리는 방식을 맞춤 설정하려면 게임이 실행될 때 게임에 전송될 요청에 payload 속성과 함께 game_metadata.player_id 또는 game_metadata.context_id 속성(선택 사항)을 포함하세요. 이렇게 하면 봇에서 단일 플레이어 또는 기존 그룹에 대한 특정 컨텍스트에서 게임을 시작할 수 있습니다.

버튼 형식

payload 속성은 직렬화된 JSON이어야 하며, 인스턴트 게임 SDK에 의해 역직렬화됩니다.

버튼 속성의 전체 리스트는 게임 플레이 버튼 참고 자료를 참조하세요.

{
  "type":"game_play",
  "title":"Play",
  "payload":"{

사용자가 한 게임 라운드를 완료할 때 봇에 전송되는 이벤트에 대한 내용은 게임 플레이 Webhooks 이벤트를 참조하세요.

예약 버튼

예약 버튼을 사용하여 사용자에게 예약 초대를 보낼 수 있습니다. 사용자에게 예약 초대를 보내기 전에 페이지에 캘린더와 업무 시간을 설정해야 합니다. 이 버튼을 클릭하면 네이티브 예약 UI가 열립니다.

속성의 전체 리스트는 예약 버튼 참고 자료를 참조하세요.

버튼 형식

{
  "type": "booking"
}

모범 사례

버튼을 사용하여 특정 메시지와 함께 후속 또는 추가적 상호작용을 표시하세요.

동사를 사용하여 사람들이 자신이 취하는 행동을 알 수 있도록 하세요.

웹사이트에서 완료할 행동에 URL 버튼을 사용하세요(예: 구매, 계정 연결 등). 사람들을 분명히 Messenger 외부로 보내야 합니다.

누군가 콜백 버튼을 누르면 응답을 보내세요. 이렇게 하면 행동을 처리하거나 완료했다는 것이 확인됩니다(예: 예약 취소, 질문에 대답).

봇의 현재 상태에 따라 행동이 달라지는 경우 대화에서 영구적으로 사용할 수 있으므로 버튼을 사용하지 마세요.

1~3단어를 초과하는 긴 문장을 사용하거나 구두점을 사용하지 마세요. 공백을 포함하여 텍스트를 20자 미만으로 유지하세요.

모든 버튼에 URL을 사용하지 마세요. Messenger 내에서 더 많은 상호작용을 구축할수록 더 완벽한 경험이 조성됩니다.

콜백 버튼을 하나만 사용하지 마세요. 선택할 수 있는 버튼이 하나뿐이면 사람들은 보통 버튼을 메시지 텍스트의 일부로 생각하고 여러분이 원하는 행동이라는 점을 알지 못합니다.