如何发送响应到dialogflow

时间:2018-12-29 08:37:40

标签: java apache-spark dialogflow

我正在尝试使用dialogflow v2做一个Facebook chatbot Messenger。 我在Dialogflow中配置了webhook url。 但是问题是我不清楚如何将响应发送到dialogflow。

下面是我的代码

post("/", (request, response) -> {
            String body = request.body();
            System.err.println(body);
            String reply = "Hi";
            JSONObject responseJSON = new JSONObject();
            JSONObject payload = new JSONObject();
            JSONObject google = new JSONObject();
            google.put("expectUserResponse", true);
            JSONObject richResponse = new JSONObject();
            JSONArray itemsArray = new JSONArray();
            JSONObject simpleResponseRoot = new JSONObject();
            JSONObject simpleResponse = new JSONObject();
            simpleResponse.put("textToSpeech", reply);
            simpleResponseRoot.put("simpleResponse", simpleResponse);
            itemsArray.put(simpleResponseRoot);
            richResponse.put("items", itemsArray);
            google.put("richResponse", richResponse);
            payload.put("google", google);
            responseJSON.put("payload", payload);
            System.err.println(responseJSON);
            return responseJSON;
        });

下面是我的json响应

{"payload":{"google":{"richResponse":{"items":[{"simpleResponse":{"textToSpeech":"Hi"}}]},"expectUserResponse":true}}}

但是我没有收到我的Facebook页面的回复。

任何人都可以共享代码或json格式来发送对话流。

任何帮助将不胜感激!!!

1 个答案:

答案 0 :(得分:0)

问题是您在Google上使用Actions的回复格式,该格式包含其他集成所没有的其他信息。您可能希望JSON更像

{
  "fulfillmentText": "Hi"
}