从服务器向Dialogflow发送请求

时间:2018-08-22 10:22:33

标签: webhooks chatbot dialogflow facebook-chatbot

我通过将其集成到Facebook创建了Dialogflow Messenger机器人。现在,FB将请求发送到Dialogflow,而Dialogflow将响应发送到FB。

int main() {
    std::vector<int> v1{ 1, 2, 3 };
    std::vector<int> v2{ 1, 2, 1 };


    assert(is_exclusive(v1.begin(), v1.end()));
    assert(!is_exclusive(v2.begin(), v2.end()));
}

我想将服务器置于中间进程。这样,FB请求将到达我的服务器,并且我的服务器将向Dialogflow发送一个请求。

FB --> Dialogflow
Dialogflow --> FB

这可能吗?如果可以,我可以使用任何PHP库或教程吗?

2 个答案:

答案 0 :(得分:1)

Dialogflow支持将数据发送到服务器。

您需要转到项目的“实现”标签并启用Webhook

enter image description here

您可以在其中设置URL,以便在其中将数据发送到服务器和Dialogflow之间,包括标头和身份验证。


将Dialogflow连接到Facebook后,所有对话都会通过Dialogflow进行路由,因此网络挂钩是您进行交流的最佳机会。之后,您只需将响应返回到Dialogflow,它将为您发送

您可以从Dialogflow的文档中了解有关实现的更多信息:https://dialogflow.com/docs/fulfillment

答案 1 :(得分:0)

对于未来的读者来说,这是我发现可以满足我的要求的方式。

在这里,我希望服务器充当中间人并确定意图。

FB --> My Server --> Dialogflow
Dialogflow --> My Server --> FB

在Dialogflow v2中,您可以使用DitectIntent来标识Intent。 https://dialogflow.com/docs/reference/api-v2/rest/v2/projects.agent.sessions/detectIntent

此处提供了适用于不同编程语言的SDK。 https://dialogflow.com/docs/sdks#detect_intent_and_agent_apis