所以我正在测试Dialogflow,我的第一个问题之一是:我的机器人如何知道它与谁交谈?我需要识别用户并尽可能长时间地保留该信息 . 基本情景是:
-
用户开始他/她的第一次谈话 .
-
Chatbot向服务器发送一个履行请求,试图匹配其自己数据库中的用户 .
-
找到用户,将信息(作为JWT或其他令牌)发送回Dialogflow并存储在那里以进行进一步通信 . 实际上,这部分涉及询问用户电子邮件,向该电子邮件发送验证码,然后用该代码验证用户 .
-
然后用户开始与机器人聊天,并且所有履行请求都获得为该用户存储的唯一令牌,以便我的REST API知道响应所服务的用户 .
在文档中找不到任何关于它的东西(也许我在错误的地方看) .
将有几个集成,如Messenger,Viber,Telegram . 我不知道,也许这些API为用户添加了一些独特的信息?...感谢您的帮助!
2 回答
对不起,我知道已经有一段时间了,但也许这会对别人有所帮助 .
要获取用户ID,请转到Fulfillment选项卡,启用编辑器并使用如下函数:
流行,
会话已内置到对您的履行服务的DialogFlow请求中,如果您检查有效负载,您将找到sessionId,它对于同一客户端保持不变,直到它到期为止 .
但是,如果要从任何可以连接到DialogFlow的客户端(例如Messenger)中识别用户,那么从相同的请求负载到您,您将注意到有一个名为 originalRequest 的对象仅在请求来自这些客户端时可用 .
您可以个性化这些用户的响应,例如using their FB firstname in a message to them .