Webhook 与 Watson Assistant 集成?
Webhook integration with Watson Assistant?
我想知道IBM Watson Assistant有没有调用webhook的功能
这意味着当工作区的意图匹配时,Watson Assistant 需要向外部服务器发送一个 post 请求,包括请求正文中的意图。
webhook 示例:
https://123.456.789.12:7788/myWebhook/testMethod
IBM Watson Assistant 需要向该服务发送 Post 请求,该服务将 return 一个文本字符串。 Watson Assistant 应该获取该文本并将其显示给用户。
那是我的用例。它可以与 Watson Assistant 一起使用吗?
我从 IBM 站点找到了以下文档。
https://console.bluemix.net/docs/services/conversation/dialog-actions.html
它说要更新 json 响应。即,将另一个键值对添加到 json 对象作为 "action"。在动作 json 数组中有 "name" 参数。我在上面添加了 url 到名称参数,并通过调用意图检查请求是否到达我的 Web 服务,但它没有。
以下是我的 json 回复。我假设一旦意图匹配,一个 post 请求应该转到我的网络服务。但我通过在控制台上打印请求正文来检查我的网络服务。但没有任何要求。你能告诉我我错过了什么吗?
{
"context": {
"skip_user_input": true
},
"output": {
"text": {
"values": [
"your current outstanding balance is $my_balance ."
],
"selection_policy": "sequential"
}
},
"actions": [
{
"name": "https://123.456.789.12:7788/myWebhook/testMethod",
"type": "client",
"parameters": {
"body": "$body"
},
"result_variable": "context.my_balance"
}
]
}
您找到了实施 webhook 的正确方法,即对话操作。
Watson Assistant 支持服务器端或客户端操作:
- 对于服务器端操作,您可以使用 IBM Cloud Functions 设置操作。该操作将调用 webhook。
- 对于客户端,您会将与您在问题中显示的信息类似的信息传递给应用程序(客户端)。您的应用需要做出反应并调用网络钩子。
根据我对您案例的了解,我建议您检查服务器端操作。 This tutorial about a database-driven bot implements a couple of those actions。您可以调用 webhook,而不是调用数据库。
截至 2019 年 8 月,Watson Assistant 中现在有 an integrated webhook feature。
转到“助手”对话框中的“选项”并启用 webhook。粘贴从云函数创建操作后得到的 url。不要忘记将“.json”添加到您在助手 webhook 页面中粘贴的 url。在此处查看更多信息:
https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-webhooks
我想知道IBM Watson Assistant有没有调用webhook的功能
这意味着当工作区的意图匹配时,Watson Assistant 需要向外部服务器发送一个 post 请求,包括请求正文中的意图。
webhook 示例:
https://123.456.789.12:7788/myWebhook/testMethod
IBM Watson Assistant 需要向该服务发送 Post 请求,该服务将 return 一个文本字符串。 Watson Assistant 应该获取该文本并将其显示给用户。
那是我的用例。它可以与 Watson Assistant 一起使用吗?
我从 IBM 站点找到了以下文档。 https://console.bluemix.net/docs/services/conversation/dialog-actions.html
它说要更新 json 响应。即,将另一个键值对添加到 json 对象作为 "action"。在动作 json 数组中有 "name" 参数。我在上面添加了 url 到名称参数,并通过调用意图检查请求是否到达我的 Web 服务,但它没有。
以下是我的 json 回复。我假设一旦意图匹配,一个 post 请求应该转到我的网络服务。但我通过在控制台上打印请求正文来检查我的网络服务。但没有任何要求。你能告诉我我错过了什么吗?
{
"context": {
"skip_user_input": true
},
"output": {
"text": {
"values": [
"your current outstanding balance is $my_balance ."
],
"selection_policy": "sequential"
}
},
"actions": [
{
"name": "https://123.456.789.12:7788/myWebhook/testMethod",
"type": "client",
"parameters": {
"body": "$body"
},
"result_variable": "context.my_balance"
}
]
}
您找到了实施 webhook 的正确方法,即对话操作。
Watson Assistant 支持服务器端或客户端操作:
- 对于服务器端操作,您可以使用 IBM Cloud Functions 设置操作。该操作将调用 webhook。
- 对于客户端,您会将与您在问题中显示的信息类似的信息传递给应用程序(客户端)。您的应用需要做出反应并调用网络钩子。
根据我对您案例的了解,我建议您检查服务器端操作。 This tutorial about a database-driven bot implements a couple of those actions。您可以调用 webhook,而不是调用数据库。
截至 2019 年 8 月,Watson Assistant 中现在有 an integrated webhook feature。
转到“助手”对话框中的“选项”并启用 webhook。粘贴从云函数创建操作后得到的 url。不要忘记将“.json”添加到您在助手 webhook 页面中粘贴的 url。在此处查看更多信息: https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-webhooks