将Framer表单连接到Webhook
你可以在 Framer 中将表单连接到网络钩子(webhook),从而将提交的数据发送到你指定的任何 URL。
什么是 Webhook?
Webhook 可实现 Web 应用之间的实时通信。当特定事件发生时,它会自动将数据从一个应用发送到另一个应用,无需手动检查或持续轮询。当你将 Webhook 设置为表单的目标地址时,Framer 会在提交后立即通过 HTTP POST 请求,以 JSON 格式将表单数据发送到指定的 URL。
Webhook 可用于将表单提交发送到你的后端服务器、与第三方服务集成、在像 Zapier 这样的自动化工具中触发工作流,或将表单数据保存到你自己的数据库中。
如何连接 Webhook
在画布上选择表单。
在右侧边栏中点击“发送至”旁边的“添加…”,然后选择“Webhook”。
输入你的 Webhook URL。请确保它以
https://开头。

Webhook 应该接收和返回什么?
Framer 会通过 HTTP POST 请求,以 JSON 格式将表单提交内容发送至 Webhook。
JSON 使用输入项的名称作为键,输入值作为对应的值。
你的 Webhook 必须返回 2xx 的 HTTP 状态码,以表示已成功接收。如果未返回,Framer 将最多重试 5 次。
不跟随重定向(3xx 响应)——Framer 要求直接返回 2xx 响应。
如何保护 Webhook 目标地址
为确保请求仅来自 Framer,请启用签名验证:
在 Webhook 目标地址中设置密钥(至少 32 个字符)。
安全地存储此密钥——之后无法再次查看。
切勿在客户端代码或公开场合暴露该密钥。
每个来自 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 时需要帮助,请联系我们的支持团队。