Query API

Query APIは、ObotAIに質問した内容に対応する回答を返却します。

  • Endpoint: https://api.obotai.com/agent/query

  • Method: POST

リクエスト

Header:

  • Content-Type: application/json

  • X-Api-Key: (CMSで発行したAPIキー)

Body(JSON):

Text

{
  "session_id": "your-session-id",
  "user_say": {
    "type": "text",
    "data": {
      "text": "質問文"
    }
  }
}

Event

{
    "session_id": "your-session-id",
    "event": {
        "event_name": "WELCOME"
    },
    "language_code": "ja"
}

セッションID(your-session-id) はAPIの利用者側で発行した長さが100文字以内(20~50文字程度を推奨)の文字列を指定します。使用可能な文字は半角英数と _ - です。

問い合わせ内容のtextなど、マルチバイトの文字列を含む場合はUTF-8エンコーディングで送信してください。

レスポンス

レスポンスデータ(Data)

{
  "engine_status2: True,
  "language_code2: "ja",
  "session_id": "your-session-id",
  "user_say": "質問文",
  "intent_id": "会話ID",
  "intent_name": "会話名",
  "contents': [content1, content2, ...]
}

コンテント(Content)

Text

{
  type: "text",
  texts: [
    "text1",
    "text2",
    ...
  ]
}

Card

{  
    "image_url":"image url",
    "type":"card",
    "buttons":[
      {
          "text":"text",
          "postback":"postback"
      }, ...
    ],
    "subtitle":"subtitle",
    "title":"title"
}

Quick Replies

{  
    "replies":[  
      "reply message",
      "reply message"
      ...
    ],
    "title":"quick_replies",
    "type":"quick_replies"
}

Image

{  
    "image_url":"image url",
    "type":"image"
}

利用例

curl:

curl \
  -X POST \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: 00000000-0000-0000-0000-000000000000' \
  -d '{"session_id": "your-session-id", "user_say": {"type": "text", "data": {"text": "ホテルに泊まりたい"}}, "language_code": "ja"}' \
  https://api.obotai.com/agent/query

Python3:

import requests
import json
import pprint
data = {
  "session_id": "your-session-id",
  "user_say": {
    "type": "text",
    "data": {
      "text": "ホテルに泊まりたい"
    }
  },
  "language_code": "ja"
}
res = requests.post(
    'https://api.obotai.com/agent/query',
    json.dumps(data),
    headers={
        'X-Api-Key': "00000000-0000-0000-0000-000000000000",
        'Content-Type': "application/json"
    })
pprint.pprint(res.json())