Dialogflow Fullfilments响应

时间:2018-06-25 14:29:17

标签: javascript node.js google-cloud-platform dialogflow

我有一种情况,当用户键入某些内容时,我需要发送电子邮件,因此我需要使用node.js和Amazon的实现来处理电子邮件部分,但是我希望响应来自dialogflow界面。

目前我有这样的东西:

   let intentMap = new Map();
   intentMap.set('Default Welcome Intent', welcome);

   agent.handleRequest(intentMap);

   function welcome(agent) {
      var content = "Hello.\n\n"
                +""
                +"phone : " + agent.parameters.phoneNumber + ""
                +"\nIA";
      sendEmail("phone number", sendToEmail, content);
      agent.add(`Thank you`);
}

如您所见,我希望Dialogflow仪表板响应“谢谢”,因此我将删除agent.add(Thank you)。

这可能吗?

1 个答案:

答案 0 :(得分:3)

如果将“谢谢”写为Dialogflow意向文本响应,并且您的Webhook使用非200 HTTP响应或无效响应进行响应,则Dialogflow将从“响应”中的“文本响应”字段回退为“谢谢”。意向。

更好的是,到Webhook的Dialogflow的request包含一个fulfillmentText属性,该属性包含Dialogflow文本,该文本将在Dialogflow控制台的意图中从“文本响应”中使用。您可以在agent.add调用中使用此字符串,以确保您的Webhook成功,并且仍然可以从控制台控制响应。