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