我创建了一个 Webhook ( https://moviebotdf.herokuapp.com/get-movie-details ),它通过邮递员和对话流进行了测试并且工作正常。
我想通过编程调用将它与 IBM Watson Assistant 集成,但这并没有返回任何内容(即输出为“”)。
我检查了 IBM 支持(https://cloud.ibm.com/docs/services/assistant?topic=assistant-dialog-actions&locale=en)以及其他解决方案作为调用可以调用 webhook 的函数,但我什至有那里的成功较少。正如我从支持人员那里了解到的那样,应该可以从助手直接调用 Webhook(对于像我这样的新手来说更容易),因此是我寻求的解决方案。助手中的代码如下:
{
"context": {
"skip_user_input": true,
"prodname": "$prodname"
},
"output": {
"text": {
"values": [
"$dataToSend"
],
"selection_policy": "sequential"
}
},
"actions": [
{
"name": "https://moviebotdf.herokuapp.com/get-movie-details",
"type": "client",
"parameters": {
"prodname": "$prodname"
},
"result_variable": "context.dataToSend"
}
]
}
因此,Watson Assistant 在前一个节点中捕获了“prodname”(我检查了它,它工作正常)并发送到 Webhook。Webhook 中使用的变量也称为“prodname”。Webhook 的预期输出存储在变量“dataToSend”中,但如上所述,Watson 中的答案只有“”,因为“$dataToSend”是“”。
我也尝试使用 "result_variable": "dataToSend" 和 "result_variable": "$dataToSend" 没有成功,所以我猜是没有调用 webhook...
我是该主题的新手,因此请随时纠正我帖子中的任何问题。
无论如何提前谢谢!
阿德里亚