我想知道IBM Watson Assistant是否具有调用Webhook的功能。
这意味着当工作空间的意图匹配时,Watson Assistant需要将发布请求发送到包含请求主体中意图的外部服务器。
网络挂钩示例:
https://123.456.789.12:7788/myWebhook/testMethod
IBM Watson Assistant需要向该服务发送一个Post请求,该服务将返回一个文本字符串。 Watson Assistant应该获取该文本并将其显示给用户。
那是我的用例。它可以与Watson Assistant一起使用吗?
我从IBM网站找到了以下文档。 https://console.bluemix.net/docs/services/conversation/dialog-actions.html
它说要更新json响应。也就是说,将另一个键值对作为“操作”添加到json对象。在动作json数组中有“名称”参数。我在上面的url上添加了name参数,并通过调用意图检查是否有请求到达我的Web服务,但没有。
以下是我的json响应。我认为,一旦意图匹配后,发布请求应转到我的Web服务。但是我通过在控制台上打印请求正文来检查我的Web服务。但没有任何要求。你能告诉我我想念哪里吗?
{
"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"
}
]
}
答案 0 :(得分:3)
您找到了实现webhook的正确方法,即对话框操作。
Watson Assistant支持服务器或客户端操作:
根据我对您的案例的了解,我建议检查服务器端操作。 This tutorial about a database-driven bot implements a couple of those actions。您无需调用数据库,而可以调用webhook。
答案 1 :(得分:1)
截至2019年8月,Watson Assistant中现在有an integrated webhook feature。
答案 2 :(得分:0)
转到“助手”对话框中的“选项”并启用 webhook。粘贴从云函数创建操作后获得的 url。不要忘记将“.json”添加到您粘贴到助手 webhook 页面中的 url。在此处查看更多信息: https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-webhooks