从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的sessionIdintentId ,这些代理将是唯一的。 sessionIdintentId *随每个履行webhook请求发送。 发送的JSON类似于这样的:

 { "id": "1a4b6209-51ec-47a1-a797-2e2f71926ac8", "sessionId": "1503343146047" ... } 

但也会包含其他元素。

*如果您正在使用插槽填写, intentId可能在意向ID之后包含附加数字标识符

来源: https : //api.ai/docs/fulfillment#request