首页 文章

如何在Kommunicate中使用Dialogflow的履行代码

提问于
浏览
3

很抱歉,如果这个问题很愚蠢但我没有太多使用Javascript或Dialogflow的经验 . 我有一个Dialogflow机器人,我通过Kommunicate集成到一个测试网站 . 机器人使用通过意图设置的响应,但履行代码似乎不运行,因为任何通过履行设置的响应都不会发生 . 履行通过内联编辑器编码 .

这是通过意图设置的一些响应:

Intents

这是通过履行的回应:

Fulfillment

在这里,您可以通过Dialogflow控制台查看完成响应:

Console Response

最后,在这里你可以看到它不能通过Kommunicate工作,但意图响应会:

Kommunicate Response

我很确定我的问题是履行代码不是在Kommunicate上运行,而是需要以某种我不知道的方式集成到Kommunicate中 . 有谁知道我需要做什么?

编辑:我可能已找到原因 . 在履行文档的底部,它说:“来自您的Firebase Cloud 功能的网络电话到Google网络以外的目的地,需要为基础Google Cloud 端或Firebase项目启用结算功能 . ”在我试图说服我的老板花钱之前,有谁可以确认这是我需要做的事情?

1 回答

  • 3

    您无需启用计费即可使用Dialogflow . Dialogflow附带Free Edition,您可以开发和测试Bot而无需启用计费 .

    Kommunicate支持Dialogflow的默认响应以及自定义webhook . 使用默认响应很简单 . 在 Custom Payload 中输入文本响应或kommunicate支持的任何Actionable message,Kommunicate将自动在聊天UI中呈现它 .

    如果您已为Intent启用了webhook调用,则可以使用 fulfillmentText 字段返回文本消息数组,或使用 fulfillmentMessages 字段返回Actionable消息,如Dialogflow docs中所述 .

    Kommunicate使用这些字段来确定将在UI中显示哪些消息 . 如果两个字段都存在则将在UI中呈现 . 以下是您的webhook响应的示例:

    {
        "fulfillmentText": "render a text message from webhook",
        "fulfillmentMessages": [{
          // message 1 (optional)- render actionable message 
            "payload": {
                "message": "render a Actionable message from webhook",
                "platform": "kommunicate",
                "metadata": {
                    // replace this with metadata JSON supported by kommunicate 
                }
            }
        }, {
          // message 2 (optional)- render a text message  
            "text": {
                "text": ["render array of  text message from webhook"]
            }
        }]
    }
    

    此JSON将在UI上呈现消息 . 您可以根据需要自定义 .

    如果您仍然无法使其正常工作,请在 hello@kommunicate.io 发送您的疑问 .

    PS:我为Kommunicate工作 .

相关问题