getPersistentMenu

Prev Next

Classic/VPC 환경에서 이용 가능합니다.

챗봇의 고정 메뉴(Persistent Menu) 목록을 조회합니다.

참고

챗봇 답변의 응답 컴포넌트는 다음 3가지 형태의 컴포넌트를 제공합니다.

요청

요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.

메서드 URI
POST CLOVA Chatbot 빌더에서 생성된 API Gateway의 고유 InvokeURL

요청 헤더

CLOVA Chatbot API에서 공통으로 사용하는 헤더에 대한 정보는 CLOVA Chatbot 요청 헤더를 참조해 주십시오.

요청 바디

요청 바디에 대한 설명은 다음과 같습니다.

  • 콘솔에서 고정 메뉴(Persistent Menu)가 설정된 경우에 로컬 캐시가 존재하지 않아도 필요한 경우 PersistentMenu 컴포넌트를 요청하면 persistMenu 필드에 응답합니다.
필드 타입 필수 여부 설명
version String Optional 챗봇 버전
  • v1 | v2 (기본값)
    • 미입력 시 v1 설정
userId String Required 챗봇 사용자 고유 아이디
  • 최대 256자 이내로 입력
userIp String Optional 사용자 IP 주소
timestamp Long Required 임의의 타임 스탬프 값(Timestamp)
bubbles Array Required 빈 배열(Array) 값으로 설정
  • <예시> []
event String Required 이벤트 값
  • getPersistentMenu로 설정

요청 예시

요청 예시는 다음과 같습니다.

{
"version": "v2",
"userId": "{userId}",
"userIp": "{userIp}",
"timestamp": 12345678,
"bubbles": [],
"event": "getPersistentMenu"
}

응답

응답 형식을 설명합니다.

응답 바디

응답 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
version String - 챗봇 버전
userId String - 챗봇 사용자 고유 아이디
  • 요청 시 설정한 값과 동일
timestamp Long - 타임 스탬프 값(Timestamp)
bubbles Array - 빈 배열(Array) 값
  • <예시> []
entities Array - 사용자의 질의에 일치된 챗봇 엔티티 (Entity) 분석 결과
persistentMenu Object - 고정 메뉴(Persistent Menu) 구성 정보
persistentMenu.type String - 고정 메뉴 유형
persistentMenu.title String - 고정 메뉴 이름
persistentMenu.data Object - 고정 메뉴 구성 정보
persistentMenu.data.contentTable Array - contentTable 상세 정보: contentTable
keywords Array - keywords 상세 정보: keywords
  • exactMatch | contain
    • exactMatch: 사용자 입력 값과 키워드가 완전 일치
    • contain: 사용자 입력 값에 키워드가 포함
conversation Object - 대화 정보
conversation.scenarioName String - 시나리오 이름
conversation.chatUtteranceSetId String - 대화 발화 아이디
conversation.types Array - 대화 유형
slotNormalizer Array - 사용자의 질의에 일치된 시스템 엔티티 (Entity)
  • Date, Time, People, Name
normalizer String - 사용자의 질의에 일치된 시스템 엔티티 (Entity)
event String Required 이벤트 값

contentTable

contentTable에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
rowSpan Integer - 표의 셀이 차지하는(Span) 행의 수
colSpan Integer - 표의 셀이 차지하는(Span) 열의 수
data Object - 컴포넌트 구성 정보
data.type String - 컴포넌트 유형
data.title String - 컴포넌트 이름
data.subTitle String - 하위 컴포넌트 이름
data.data Object - 하위 컴포넌트 구성 정보
data.data.type String - 하위 컴포넌트 유형
data.data.iconUrl String - 아이콘 URL 주소
data.data.action Object - 컴포넌트 액션(Action) 정보
data.data.action.type String - 컴포넌트 액션(Action) 유형
data.data.action.data Object - 컴포넌트 액션(Action) 상세 정보
  • 각 액션 유형에 따라 세부 내용이 상이하므로 자세한 설명은 Action 컴포넌트 참조
data.data.action.data.utteranceId Long - 발화 아이디
data.data.action.data.text String - 채팅창에 사용자의 입력으로 표시되는 텍스트
data.data.action.data.postback String - 챗봇으로 보낼 포스트백 텍스트

keywords

keywords에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
keyword String - 키워드
group String - 키워드 그룹
type String - 키워드 종류

응답 상태 코드

CLOVA Chatbot API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 CLOVA Chatbot 응답 상태 코드를 참조해 주십시오.

응답 예시

응답 예시는 다음과 같습니다.

{
  "version": "v2",
  "userId": "{userId}",
  "timestamp": 1665041597003,
  "bubbles": [],
  "persistentMenu": {
    "type": "template",
    "title": "3by2",
    "data": {
      "contentTable": [
        [
          {
            "rowSpan": 1,
            "colSpan": 1,
            "data": {
              "type": "button",
              "title": "",
              "subTitle": "",
              "data": {
                "type": "imageButton",
                "iconUrl": "https://clovachatbot.ncloud.com/i48103278ci6f6-9f51-4d08-a947-1c8acc992629",
                "action": {
                  "type": "link",
                  "data": {
                    "url": "https://ncloud.com",
                    "mobileUrl": "https://ncloud.com"
                  }
                }
              }
            }
          }
        ]
      ]
    }
  },
  "keywords": [],
  "conversation": {
    "scenarioName": null,
    "chatUtteranceSetId": null,
    "types": []
  },
  "slotNormalizer": {},
  "normalizer": "",
  "event": "send"
}