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 チャットボットユーザーの固有の ID
  • 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 - チャットボットユーザーの固有の ID
  • リクエスト時に設定した値と同じ
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 - 会話発話 ID
conversation.types Array - 会話タイプ
slotNormalizer Array - ユーザーの質問と一致するシステムエンティティ(Entity)
  • DateTimePeopleName
normalizer String - ユーザーの質問と一致するシステムエンティティ(Entity)
event String - イベントの値

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)の詳細情報
data.data.action.data.utteranceId Long - 発話 ID
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"
}