寻找一种方法将 Typeform 结果文本从 FB Messenger WebView 传回聊天

Looking for a way to pass Typeform results text back from a FB Messenger WebView into the chat

我正在使用 FB Messenger 中的 Dialogflow 创建一个聊天机器人,它使用 Webview UI 将人们链接到 Typeform 测验。因此,他们 select 在 Messenger 聊天中进行测验,并在 window 中打开 Typeform,然后完成测验。我想从 Typeform 结果屏幕获取文本并将其重新注入 Messenger,以便用户可以查看他们的结果历史记录。

我一直在寻找一种方法来做到这一点,但我的 google-fu 被证明很弱。

所以你将无法从 webview 获取表单提交的结果,事实上如果你只是使用 webview 并显示 Typeform url 你不一定知道用户何时提交。

我认为我建议的第一件事是在网页上托管表单并使用 Embed SDK or Typeform Elements。主要原因是因为两者都提供了一个 onsubmit 生命周期,您至少可以知道用户何时提交表单,然后据此采取行动。还有更多内容,但我很快就会回来...

接下来您 want/need 要做的是能够根据用户提交的表单采取行动。您可以通过使用我们将在提交时触发的 Typeform API (which you'll know when to call/use because the previous step will inform you the user has submitted the form thanks to the onsubmit callback), or have a server where you listen for a webhook 查询提交来做到这一点。

所以下一个step/concern就是知道如何查询一个用户的唯一提交。我推荐的方法是通过 URL 形式的 unique hidden field,您可以在上一段中查询或验证。如果您使用的是 Dialogflow,您可能有这样的意图,即指示用户在 webview 中形成调用您创建的 webhook(firebase?),然后为您存储在数据库中的会话创建一个唯一的 id,使用那个uid 作为您发送到 facebook messenger 的表单中的隐藏字段,然后您可以在通过 SDK 查询或通过 webhooks 收听时使用该 uid 作为标识符。