--- title: "getPersistentMenu" slug: "ai-application-service-chatbot-getpersistentmenu" updated: 2026-07-23T09:04:22Z published: 2026-07-23T09:04:22Z canonical: "api.ncloud-docs.com/ai-application-service-chatbot-getpersistentmenu" --- > ## Documentation Index > Fetch the complete documentation index at: https://api.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # getPersistentMenu Classic/VPC 환경에서 이용 가능합니다. 챗봇의 고정 메뉴(Persistent Menu) 목록을 조회합니다. 참고 챗봇 답변의 응답 컴포넌트는 다음 3가지 형태의 컴포넌트를 제공합니다. - Basic Component - Composite Component - Flex Component - 컴포넌트에 대한 자세한 내용은 [Basic 컴포넌트 상세 정보](/docs/ai-application-service-chatbot-basic), [Composite 컴포넌트 상세 정보](/docs/ai-application-service-chatbot-composite), [Flex 컴포넌트 상세 정보](/docs/ai-application-service-chatbot-flex)를 참조해 주십시오. ## 요청 요청 형식을 설명합니다. 요청 형식은 다음과 같습니다. | 메서드 | URI | | --- | --- | | POST | CLOVA Chatbot 빌더에서 생성된 API Gateway의 고유 InvokeURL | ### 요청 헤더 CLOVA Chatbot API에서 공통으로 사용하는 헤더에 대한 정보는 [CLOVA Chatbot 요청 헤더](/docs/ai-application-service-chatbot#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94)를 참조해 주십시오. ### 요청 바디 요청 바디에 대한 설명은 다음과 같습니다. - 콘솔에서 고정 메뉴(Persistent Menu)가 설정된 경우에 로컬 캐시가 존재하지 않아도 필요한 경우 [PersistentMenu 컴포넌트](/docs/ai-application-service-chatbot-composite#PersistentMenu%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8)를 요청하면 `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 컴포넌트](/docs/ai-application-service-chatbot-composite#PersistentMenu%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8) 참조 | | `persistentMenu.type` | String | - | 고정 메뉴 유형 | | `persistentMenu.title` | String | - | 고정 메뉴 이름 | | `persistentMenu.data` | Object | - | 고정 메뉴 구성 정보 | | `persistentMenu.data.contentTable` | Array | - | contentTable 상세 정보: [contentTable](/docs/ai-application-service-chatbot-getpersistentmenu#contentTable) | | `keywords` | Array | - | keywords 상세 정보: [keywords](/docs/ai-application-service-chatbot-getpersistentmenu#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 | - | 컴포넌트 구성 정보 - 자세한 내용은 [Basic 컴포넌트](/docs/ai-application-service-chatbot-basic) 참조 - `text`, `image`, `button` | | `data.type` | String | - | 컴포넌트 유형 - `text` \| `image` \| `button` \| `template` \| `carousel` \| `flex` \| `line_sticker` \| `lineworks_sticker` \| - 각 컴포넌트에 대한 자세한 내용은 [Basic 컴포넌트 상세 정보](/docs/ai-application-service-chatbot-basic), [Composite 컴포넌트 상세 정보](/docs/ai-application-service-chatbot-composite), [Flex 컴포넌트 상세 정보](/docs/ai-application-service-chatbot-flex) 참조 | | `data.title` | String | - | 컴포넌트 이름 | | `data.subTitle` | String | - | 하위 컴포넌트 이름 | | `data.data` | Object | - | 하위 컴포넌트 구성 정보 | | `data.data.type` | String | - | 하위 컴포넌트 유형 - `text` \| `image` \| `button` \| `template` \| `carousel` \| `flex` \| `line_sticker` \| `lineworks_sticker` \| - 각 컴포넌트에 대한 자세한 내용은 [Basic 컴포넌트 상세 정보](/docs/ai-application-service-chatbot-basic), [Composite 컴포넌트 상세 정보](/docs/ai-application-service-chatbot-composite), [Flex 컴포넌트 상세 정보](/docs/ai-application-service-chatbot-flex) 참조 | | `data.data.iconUrl` | String | - | 아이콘 URL 주소 | | `data.data.action` | Object | - | 컴포넌트 액션(Action) 정보 | | `data.data.action.type` | String | - | 컴포넌트 액션(Action) 유형 - `postback` \| `utterance` \| `link` \| `phone` \| `welcome` - `postback`: [Postback 컴포넌트](/docs/ai-application-service-chatbot-action#Postback%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8) 참조 - `utterance`: [Utterance 컴포넌트](/docs/ai-application-service-chatbot-action#Utterance%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8) 참조 - `link`: [Link 컴포넌트](/docs/ai-application-service-chatbot-action#Link%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8) 참조 - `phone`: [Phone 컴포넌트](/docs/ai-application-service-chatbot-action#Phone%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8) 참조 - `welcome`: [Welcome 컴포넌트](/docs/ai-application-service-chatbot-action#Welcome%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8) 참조 | | `data.data.action.data` | Object | - | 컴포넌트 액션(Action) 상세 정보 - 각 액션 유형에 따라 세부 내용이 상이하므로 자세한 설명은 [Action 컴포넌트](/docs/ai-application-service-chatbot-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 응답 상태 코드](/docs/ai-application-service-chatbot#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C)를 참조해 주십시오. ### 응답 예시 응답 예시는 다음과 같습니다. ``` { "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" } ```