从API.ai履行请求获取代理信息
有没有一种方法可以从履行请求中获取API.ai代理信息?
我正在尝试捕获可以从代理传递的Node.js代码中的任何唯一参数。 这将用于使用单个代码库来处理多个代理的逻辑。
对于亚马逊Alexa我可以从会话中获得技能应用程序ID。 API.ai中有类似的东西吗?
如果你想获得代理id,你可以做这样的事情(使用快速框架):
app.post(`/:agent_id/webhook`, (req, res) => { const apiai_agent_id = req.params.agent_id; // webhook code... });
而在这种情况下,为每个代理的履行页面,你必须指定它自己的webhookurl,如https://mywebhooks.com/55982e7c-db17-47ee-92bb-176476228942/webhook
(您可以从浏览器的地址栏获取webhook URL的代理ID)
您可以使用API.AI的sessionId
或intentId
,这些代理将是唯一的。 sessionId
和intentId
*随每个履行webhook请求发送。 发送的JSON类似于这样的:
{ "id": "1a4b6209-51ec-47a1-a797-2e2f71926ac8", "sessionId": "1503343146047" ... }
但也会包含其他元素。
*如果您正在使用插槽填写, intentId可能在意向ID之后包含附加数字标识符
来源: https : //api.ai/docs/fulfillment#request