将Framer表单连接到Webhook

将Framer表单连接到Webhook

你可以在 Framer 中将表单连接到网络钩子(webhook),从而将提交的数据发送到你指定的任何 URL。

什么是 Webhook?

Webhook 可实现 Web 应用之间的实时通信。当特定事件发生时,它会自动将数据从一个应用发送到另一个应用,无需手动检查或持续轮询。当你将 Webhook 设置为表单的目标地址时,Framer 会在提交后立即通过 HTTP POST 请求,以 JSON 格式将表单数据发送到指定的 URL。

Webhook 可用于将表单提交发送到你的后端服务器、与第三方服务集成、在像 Zapier 这样的自动化工具中触发工作流,或将表单数据保存到你自己的数据库中。

如何连接 Webhook

  1. 在画布上选择表单。

  2. 在右侧边栏中点击“发送至”旁边的“添加…”,然后选择“Webhook”。

  3. 输入你的 Webhook URL。请确保它以 https:// 开头。

Webhook 表单

Webhook 应该接收和返回什么?

  • Framer 会通过 HTTP POST 请求,以 JSON 格式将表单提交内容发送至 Webhook。

  • JSON 使用输入项的名称作为键,输入值作为对应的值。

  • 你的 Webhook 必须返回 2xx 的 HTTP 状态码,以表示已成功接收。如果未返回,Framer 将最多重试 5 次。

  • 不跟随重定向(3xx 响应)——Framer 要求直接返回 2xx 响应。

如何保护 Webhook 目标地址

为确保请求仅来自 Framer,请启用签名验证:

  1. 在 Webhook 目标地址中设置密钥(至少 32 个字符)。

  2. 安全地存储此密钥——之后无法再次查看。

  3. 切勿在客户端代码或公开场合暴露该密钥。

每个来自 Framer 的请求都包含两个头部信息:

  • Framer-Signature:使用你的密钥对表单数据和提交 ID 进行 SHA-256 签名后的哈希值。

  • Framer-Webhook-Submission-Id:每个表单提交的唯一 ID(例如:0fbbb90e-564b-4870-ac8b-78f9bc4e44a6)。

如上所述的签名,其格式如下所示:

sha256=32c554c6f72fec5f0231533ba17978e2bbaf7714a4b6d35a7fc913e4891d23fc

这是使用你的密钥对表单数据和提交 ID 进行 SHA-256 签名后的哈希值。

签名验证示例

为了帮助你验证来自 Framer 的 Webhook 请求,以下是不同编程语言的代码示例。这些示例展示了如何使用你的密钥生成并比对签名,以确保请求的真实性。

Go 示例读取请求体,使用你的密钥生成 HMAC 哈希,并与 Framer-Signature 头部进行比对以验证请求。

在 Node.js 版本中,服务器缓存请求体,使用相同方法计算哈希,并安全地与提供的签名进行比对。

如果你在设置或验证 Webhook 时需要帮助,请联系我们的支持团队。

Create a free website with Framer, the website builder loved by startups, designers and agencies.