如何从对话框流内联编辑器迁移到Webhook

时间:2019-08-05 15:45:25

标签: dialogflow webhooks dialogflow-fulfillment

我正在使用Dialogflow内联编辑器实现某些代理意图。那里只有两个文件(package.json和index.js)。如果要添加对新意图的响应,只需编写一个带有响应字符串的函数,然后将该函数与意图名称进行匹配。很简单

现在,我想从Inline Editor切换到我自己的Webhook。我知道我必须在本地计算机上运行诸如Express服务器之类的东西。但是,这仅仅是将这两个文件的内容复制并粘贴到我自己的两个文件中吗?还是我需要做其他事情才能使其正常工作。

此外,如果我的内联编辑器中确实有一些复杂的实现功能(与Google Calendar API交互),那么如果我仅将现有代码复制并粘贴到本地文件中,该如何传递凭据?

1 个答案:

答案 0 :(得分:0)

基本上,如果要从无服务器功能迁移到服务器 是的,您将必须复制这些文件并启动自己的快递服务器

要使服务器成为Webhook,只需简单地提供可以为POST端点服务的服务即可

  1. 创建您的Node.js项目
  2. 安装express,dialogflow-fulfillment lib和其他依赖项
  3. 创建您的POST端点以实现目标
  4. 将链接放置到Dialogflow中的该端点
  

Webhook只是一个简单的HTTP回调。 Dialogflow将触发您提供的Webhook,POST端点,并且在代码执行后,它将响应发送回Dialogflow

Webhook Flow

要附加到Dialogflow Webhook,只需提供提供服务的Webhook端点

通过将 URL * 部分替换为端点,例如https://yourdomain.com/endpointforwebhook

Fullfillment page

如果您是从本地计算机开发的,请尝试使用Ngrok并为Dialogflow添加一个临时端点

如果要进行登台或生产,则需要一个真实的域作为端点 只需从将Ex​​press服务器部署到Heroku开始,然后为Dialogflow添加一个端点

用于本地文件中的凭据部分
您可以使用环境env或某些配置管理来管理本地文件中的凭据。参见Dotenv npm package