跳到主要内容
FormFlow

v1.33:一键重试发往 Webhook 的所有失败投递

v1.33.0 版本为每个 Webhook 端点新增“重试失败的投递”:点击一次,就会用原始投递 ID 和负载重新发送它错过的全部内容。

本文由机器翻译。 阅读英文原文

Screenshot of the Retry failed deliveries confirmation in FormFlow, opened from a webhook endpoint on the Delivery tab. It says each failed delivery is queued again with its original ID and payload and gets one more attempt. It shows the v1.33 retry.

当你的 Webhook 接收端宕机时,FormFlow 无法投递这期间到达的提交。在 2026 年 10 月 5 日的 v1.33.0 之前,想让它们之后被投递,就意味着在每条提交上逐一点击“立即重试”。现在每个 Webhook 端点都有一个“重试失败的投递”按钮,一次就能处理全部。更新日志条目给出了简短版本。本文说明何时使用它,以及它不能做什么。

接收端宕机时会发生什么

失败的投递会被重新尝试多次。当其中一条用完尝试次数,它就算作失败;当发往某个端点的投递持续失败时,FormFlow 会停止向它发送,并给你发送一封邮件:该表单的 Webhook 已停用。邮件中说明,提交的内容仍在存储,只是转发停止了。它还指出了下一步,即修复端点,重新启用它,并在其所在行点击“重试失败的投递”。

如何使用

  1. 先修复接收端。重试会给每个失败的投递再一次尝试的机会,所以接收端仍在宕机时点击它没有意义。

  2. 打开表单,进入“投递”设置。找到该 Webhook 端点。如果 FormFlow 把它关掉了,请打开“交付”并保存表单。

  3. 在该端点所在行点击“重试失败的投递”并确认。

  4. 面板会告诉你有多少个失败的投递被重新排队。

该按钮适用于已保存且已打开的端点。在未保存的行上,它会要求你先保存表单;在已关闭的端点上,它会要求你打开“交付”并保存。

你的接收端会看到什么

重试的投递是同一个投递,而不是新的。它会带着原始的投递 ID 和原始的负载发出。FormFlow 在 X-FormFlow-Delivery-Id 标头中发送该 ID。如果你的接收端可能在故障之前就已经处理过某条投递,请存储你已处理过的 ID,并跳过重复的。

局限

  • 每条再尝试一次。如果端点仍然失败,它会再次被关闭,你又回到了起点。

  • 每点击一次最多 500 条投递,最旧的优先。如果还有更多,面板会说明,然后你再点击一次处理剩下的。

  • 在你更改端点的 URL、密钥或格式之前发出的投递不会被重新发送。如果没有符合条件的投递,面板会说没有可重试的发往此端点的失败投递。

  • 它只作用于一个端点。有两个 Webhook 端点的表单有两个按钮,每个只重新发送它自己的失败。

同一天,v1.33.1 修复了学生在限时表单上时间用完时看到的消息。