首页 文章

如何通过webhook在对话框流上回复来自Web演示的消息

提问于
浏览
1

我目前正在尝试将chatbot添加到我的网站 . 我正在将网络演示集成到用于我们的lIne bot的代理上 . 哪些响应由lambda webhook处理 .

我问的是,我们可以使用lambda发送对网络演示的回复吗?如果可以,那我该如何发送?假设有一些身份证?我们使用HTTP post请求发送它们吗?我找不到一个例子 .

对于某些具有多个对话流处理响应的意图,它只能发送其中一个 . 这是为什么?我该怎么办才能通过对话流发送所有这些内容?

1 回答

  • 0

    是的,它可以实现,你可以参考给NodeJs代码,

    const express = require("express");
    const bodyParser = require("body-parser");
    const apiai = require("apiai");
    const request = require("request");
    
    const app = express();
    app.use(bodyParser.json());
    app.set("port", process.env.PORT || 5000);
    
    
    app.post("/", (req, res) => {
      //console.log(req.body)
      const action = req.body.result.action;
      if (!req.body || !req.body.result || !req.body.result.parameters) {
        return res.status(400).send("Bad Request");
      }
      console.log("--------------------------------");
      console.log("Action =>", action);
      console.log("--------------------------------");
      switch (action) {
        case "price.search":
                const webhookReply = `Sorry NO book found in store.`;
                res.status(200).json({
                  source: "webhook",
                  speech: webhookReply,
                  displayText: webhookReply
                });
          break;
    
        default:
          break;
      }
    });
    
    app.listen(app.get("port"), function() {
      console.log("* Webhook service is listening on port:" + app.get("port"));
    });
    

    对于每个 intent ,我们必须在dialogFlow中定义 action .

    因此,当用户输入任何查询时,您的webhook将被触发,它将进入切换案例以查找特定操作并形成该情况,您可以将重播发送回您的机器人 .

相关问题