persistent_menu 참고 자료

봇에 고정 메뉴를 설정하여 사용자가 대화 중에 기능에 대해 발견하고 쉽게 액세스하도록 할 수 있습니다.

고정 메뉴는 사용자에게 항상 제공됩니다. 이 메뉴에는 사용자가 언제든 실행할 수 있는 최상위 작업을 포함해야 합니다. 고정 메뉴가 있으면 첫 사용자와 다시 돌아온 사용자에게 기본 기능을 손쉽게 전달할 수 있습니다. 이 메뉴는 사용자가 일정 기간 나갔다가 다시 돌아오면 스레드에 자동으로 표시됩니다. 이 설정은 Messenger 프로필 API 참고 자료에 포함되어 있습니다.

고정 메뉴는 사용자가 설정하고 변경할 수도 있습니다. 고정 메뉴에 대한 자세한 내용은 사용자 수준 메뉴를 참조하세요.

요구 사항

고정 메뉴를 사용하려면 다음 조건을 충족해야 합니다.

  • 시작하기 버튼을 설정합니다.
  • 봇과 연결된 페이지에 '관리자' 역할이 있어야 합니다.

persistent_menu 형식

고정 메뉴 예시

{
    "persistent_menu": [
        {
            "locale": "default",
            "composer_input_disabled": false,
            "call_to_actions": [
                {
                    "type": "postback",
                    "title": "Talk to an agent",
                    "payload": "CARE_HELP"
                },
                {
                    "type": "postback",
                    "title": "Outfit suggestions",
                    "payload": "CURATION"
                },
                {
                    "type": "web_url",
                    "title": "Shop now",
                    "url": "https://www.originalcoastclothing.com/",
                    "webview_height_ratio": "full"
                }
            ]
        }
    ]
}

속성

속성 유형 설명

locale

문자열

여러 로캘에 고정 메뉴를 정의하는 개체의 배열. 사용자 로캘과 일치하는 locale 속성을 가진 메뉴가 표시됩니다.


persistent_menu 배열에서 하나 이상의 개체가 "locale": "default"를 지정해야 합니다. 사용자 로캘과 일치하는 locale 속성을 가진 개체가 없으면 이 메뉴로 폴백합니다.


지원되는 로캘의 리스트를 설정하세요.

composer_input_disabled

부울

true로 설정하면 Messenger 작성 도구 필드가 비활성화됩니다. 즉, 봇이 고정 메뉴, 포스트백, 버튼, 웹 보기와만 상호 작용할 수 있다는 것을 의미합니다.


기본값: false

disabled_surfaces

배열

고정 메뉴를 비활성화하는 인터페이스 이름의 배열. 현재는 customer_chat_plugin만 지원됩니다.

call_to_actions

Array<menu_item>

고정 메뉴에 대한 최상위 메뉴 항목의 배열. 최대 3개 항목이 허용됩니다.


"composer_input_disabled": true일 경우 필수입니다.

속성 유형 설명

type

문자열

메뉴 항목의 유형. 지원되는 값은 다음과 같습니다.

title

문자열

메뉴 항목에 표시할 제목. 30자로 제한됩니다.

url

문자열

버튼을 눌렀을 때 열리는 URL. 유형이 web_url인 경우 필수입니다.

payload

문자열

messaging_postbacks 이벤트로서 Webhooks에 다시 전송될 데이터. 유형이 postback인 경우 필수입니다. 1,000자로 제한됩니다.

webview_height_ratio

문자열

선택 사항.웹 보기의 높이. 유효한 값에는 compact, tall, full이 포함됩니다.

messenger_extensions

부울

선택 사항. 항목 유형이 web_url일 경우 true여야 하고 웹 보기에서는 Messenger Extensions SDK가 사용됩니다.

fallback_url

문자열

선택 사항.Messenger Extensions SDK를 지원하지 않는 클라이언트에 대해 웹 보기에서 열리는 URL. 이 URL이 정의되지 않은 경우 url을 폴백으로 사용합니다. "messenger_extensions": true인 경우에만 지정할 수 있습니다.

webview_share_button

문자열

선택 사항.hide로 설정하면 웹 보기에서 (민감한 정보에 대해) 공유가 비활성화됩니다.

고정 메뉴 비활성화

채팅 플러그인에서 봇에 대한 고정 메뉴를 비활성화하는 것이 바람직한 경우가 있습니다. 이렇게 하려면 고정 메뉴를 설정할 때 "disabled_surfaces": ["CUSTOMER_CHAT_PLUGIN"]을 추가하세요.

Messenger 프로필 API 페이로드 예시

{
  "persistent_menu":[
    {
      "locale":"default",
      "disabled_surfaces": ["CUSTOMER_CHAT_PLUGIN"],
      "composer_input_disabled": false,      
      "call_to_actions":[
        {
          "title":"My Account",
          "type":"postback",
          "payload":"PAYBILL_PAYLOAD"
        }
      ]
    }
  ]
}

사용 제한

Messenger 프로필 API에 대한 호출은 10분당 API 호출 10회로 제한됩니다. 이 사용 제한은 페이지별로 적용됩니다.

사용자 수준 메뉴에 대한 호출은 10분 간격에서 사용자당 API 호출 10회로 제한됩니다. 이 사용 제한은 페이지별로 적용됩니다.