我想在actions.json中再添加一个对话

问题描述 投票:0回答:1

我在Watson Assistant中有一个应用程序,该应用程序使用其他端点的许多服务。并且我想以某种意图在Google助手对话中调用此对话(来自Watson)。例如,我将在Google Assistant上进行丰富的对话,而在其中一个选项中,我将称为watson的对话。我尝试如下,但是没有用。有谁知道可以帮助我的例子吗?

{"locale": "pt-BR",
 "actions": [
   {
     "description": "Launch intent",
     "name": "MAIN",
     "fulfillment": {
       "conversationName": "mainConversation"
     },
     "intent": {
       "name": "actions.intent.MAIN"
     }
   },
   {
    "description": "Direct access",
    "name": "BUY",
    "fulfillment": {
      "conversationName": "ExampleAction"
    },
    "intent": {
      "name": "com.example.ExampleAction.BUY",
      "trigger": {
        "queryPatterns": [
          "teste",
          "azul",
          "start"
        ]
      }
    }
  }
 ],
 "conversations": {
   "mainConversation": {
     "name": "mainConversation",
     "url": "https://us-central1-ericanovo-798cc.cloudfunctions.net/webhook",
     "fulfillmentApiVersion": 2
   },
   "BUY": {
    "name": "ExampleAction",
    "url": "https://orquestrador-sulamerica-teste.mybluemix.net/api/v1/chat/google?externaltoken=574213c0-e904-11e9-9970-ff484aa25334",
    "fulfillmentApiVersion": 2
  }

 }
}

感谢

node.js actions-on-google google-assistant-sdk fulfillment
1个回答
0
投票

这不起作用,因为在同一项目下发布的所有内容的Webhook必须具有相同的URL。您应该处理该Webhook上的所有Intent和“操作”。

在您的情况下,您还需要确保以Watson API期望的方式格式化请求。助手将使用Conversation Webhook Format发送它,听起来好像您将使用Watson's Analyze Text API发送它。

您没有显示任何代码,因此很难确定-但是第一个将采用可提取的JSON格式。然后,您可以使用Node中的库(例如request-promise来调用Watson。基于Watson的结果,您需要将结果格式化为响应并将其返回给Assistant。)>

尚不清楚为什么您特别需要多个webhook,尽管某些Intent可能会进行与其他不同的API调用。

请注意,您的自定义Intent仅在调用时有效。随后的Intent将全部为TEXT Intent。

© www.soinside.com 2019 - 2024. All rights reserved.