Webhook外部URL呼び出し¶
Webhook外部URL呼び出しとは、ObotAIへ質問があった際に、外部のWebhook URLを呼び出す仕組みです。
Webhookのサーバー側で回答文を生成したい場合や、質問内容を外部データベースに記録したい場合などに使用します。
Endpoint: Webhook URL(インターネット経由で接続可能なエンドポイントをご用意ください)
Method: POST
ContentType: application/json
リクエスト¶
リクエストデータ(JSON)¶
リクエスト内容の例です。
{
"responseId": "...",
"queryResult": {
"queryText": "質問内容",
"parameters": {},
"intent": {
"name": "projects/[project_id]/agent/intents/[intent_id]",
"displayName": "インテント名"
},
"languageCode": "言語"
},
"originalDetectIntentRequest": {
"payload": {}
},
"session": "..."
}
レスポンス¶
回答文をWebhookで生成する場合、レスポンスはContentTypeを application/json
とし、JSONの内容を返却してください。
レスポンスデータ(Data)¶
TEXT¶
{
"fulfillmentMessages":[{
"text": {
"text": ["text"]
},
"platform": "プラットフォーム"
}]
}
Card¶
{
"fulfillmentMessages":[{
"image_url":"image url",
"type":"card",
"buttons":[
{
"text":"text",
"postback":"postback"
}, ...
],
"subtitle":"subtitle",
"title":"title",
"platform": "プラットフォーム"
}]
}
Quick Replies¶
{
"fulfillmentMessages":[{
"replies":[
"reply message",
"reply message"
...
],
"title":"quick_replies",
"type":"quick_replies"
"platform": "プラットフォーム"
}]
}
Image¶
{
"fulfillmentMessages":[{
"image_url":"image url",
"type":"image"
"platform": "プラットフォーム"
}]
}
Payload¶
{
"fulfillmentMessages":[{
"payload":{
"各プラットフォーム名": {※1}
},
"platform": "プラットフォーム"
}]
}
※1 プラットフォーム毎のpayload形式.¶
Webhookログ管理¶
Webhookの利用状況をまとめています。
上部メニュー > ウェブフック > ログ管理
より確認ができます。
ログ検索¶
日付とSessionIDでデータの絞り込みができます。
日付¶
日付欄にオンマウスでカレンダーが表示されます。開始日・終了日の順にクリックすると日付の範囲を指定できます。
リセットする場合はページを更新してください。
SessionID¶
部分検索が可能です。
ログ項目¶
日付:日本時間(YYYY-MM-DD hh:mm:ss)
アクション
アクションパラメータ
ステータス:ステータスコード
Jsonデータ
Session ID
JSONデータ¶
リクエストとレスポンスの内容をJSON形式で確認できます。
プラットフォーム毎のpayload形式については上記(※1プラットフォーム毎のpayload形式.)参照
{
"request": {
"responseId": "",
"queryResult": {},
"originalDetectIntentRequest": {
"payload":{
"session_id": "",
"platform": "どのプラットフォームからのリクエストか"
}
},
"session": "",
"webhookParameter": {
※アクションによってパラメータの項目は異なります
},
"action": "Webhookアクション名"
},
"response": {
"fulfillmentMessages": [
プラットフォーム毎のpayload形式
{
"payload": {
"各プラットフォーム名": {
response内容
}
},
"action_type": "Webhookアクション名"
},
"platform": "プラットフォーム"
}
],
"outputContexts": [
{
"name": "",
"parameters": {}
}
]
}
}
Webhookシナリオ連携¶
webhookを利用して、シナリオで得たデータをエクセルシートに保存することができます。 (詳しい設定方法はCMSマニュアルver4 '46.3.シナリオとwebhook連携' をご参照下さい。)
収集したデータにキーワードを対応させることで、データに名前をつけることができます(Alias Name)。 この名前はエクセル化した際にカラム名として使用されます。
このAlias Nameの一覧はシナリオエディタで確認できます。
上部メニュー > シナリオ > 対象シナリオ
内のAliasボタンをクリックすると一覧が表示されます。