跳转到内容
交付 API
在围绕某项功能进行规划之前,请先查看功能状态。

指南互动

表单与线索

在 Studio 中构建表单,在您的网站上渲染它们,用 Turnstile 拦截垃圾信息,并把每条咨询作为线索接收。

本页面由英文翻译而来。如有任何差异,以英文版本为准。 阅读英文版

Atlas 表单用于在您的网站上收集咨询,并把每一条都变成线索,供您的团队分配、跟进和导出。表单可用于您的开发网站;生产环境上线后,也可用于您的线上网站。

  1. 在 Studio 中构建表单。 在 Forms & leads 下设置字段、标签、同意声明文字、提交按钮标签和成功消息。

  2. 您的网站渲染它。 网站获取表单定义,并用自己的组件绘制字段,因此表单与您的设计保持一致。

  3. 访客提交。 浏览器直接向 Atlas 发送请求。不涉及令牌:Atlas 只接受 Origin 为您网站已登记地址的请求。

  4. Atlas 检查并存储。 先进行垃圾信息和滥用检查,然后保存线索、发送邮件给您的团队,并发送到您的 Webhook。

开发网站 线上网站(生产环境)
表单何时响应 始终 生产环境已开启且有已签名的发布版本在线上时
使用哪个表单版本 最新已发布的草稿 线上发布版本中的版本
接受的来源 您的开发环境地址 仅限 https:// 加您的生产环境域名
线索出现的位置 Leads → Development Leads → Live website(“Leads from the live website”)
线索邮件 默认关闭 默认开启;可以暂停

表单与页面一样,随发布版本进入生产环境。您在开发环境中修改的表单会随下一个获批的发布版本到达线上网站,而从发布版本中移除的表单将停止在那里响应。

生产环境关闭时,其表单地址会返回 404 CP_NOT_FOUND。如果生产环境已开启但尚无已签名的发布版本在线上,则返回 403 CP_PRODUCTION_LOCKED。

// GET /v1/public/environments/{environmentId}/forms/{formKey}
// → { key, name, version, fields, settings: { submitLabel, successMessage, consentText },
// challenge: { provider: 'turnstile', action, siteKey } }

用您自己的输入控件渲染 fields。如果 challenge.provider 为 turnstile,请使用给定的 siteKey 和 action 渲染 Cloudflare Turnstile 小组件,并在您的 Content-Security-Policy 中允许 Turnstile。

// POST /v1/public/environments/{environmentId}/forms/{formKey}/submissions
{
"idempotencyKey": "<new UUID per attempt>",
"sessionId": "<16–128 chars, A–Z a–z 0–9 _ ->",
"startedAt": 1761210000000, // when the visitor opened the form, in ms
"challengeToken": "<Turnstile token>",
"website": "", // hidden honeypot field; leave empty
"consent": true,
"fields": { "name": "…", "email": "…", "message": "…" }
}
响应 含义
201 { status: 'received' } 已接受。显示 settings.successMessage
422 SUBMISSION_INVALID 某个字段未通过校验。显示该字段的错误
400 SUBMISSION_REJECTED 被拒绝,例如验证挑战失败
429 提交过多。请访客稍后再试

可疑的提交会被隔离,但仍会返回 201,这样攻击者就无法得知哪些内容被标记。

  • 按站点设置的 Cloudflare Turnstile 验证挑战。
  • 蜜罐字段和最短填写时间。
  • 10 分钟内的重复提交检测。
  • 按站点、表单、访客会话和 IP 地址限速。请参阅限制。

Studio 中的 Spam review 标签页会显示来自开发环境的被隔离提交。来自线上网站的被隔离提交目前还无法在 Studio 中审阅。

站点所有者在 Integrations → Email 下添加电子邮件连接(SMTP 或电子邮件服务提供商)。密码和 API 密钥以加密方式存储,之后不会再次显示,也不会被记录到日志中。

卡片 Email for enquiries and leads 有两个开关:

  • Live website:生产环境上线后默认开启。将其设为“emails paused”可在不改动表单的情况下停止发送邮件。
  • Development:默认关闭,因此测试提交不会给任何人发邮件。测试提交会标记为 [Test]。

只有站点管理员可以更改这些开关。除非您开启,否则不会向访客发送自动回复。