docs: spec三处交叉引用同步——submission_id生成点统一为原生submit捕获/§7风险表述对齐
Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -32,11 +32,11 @@
|
||||
| 事件 | 触发 | 属性 |
|
||||
|---|---|---|
|
||||
| form_start | .wpcf7-form 内首次 isTrusted focusin/input(每表单实例一次) | form_id |
|
||||
| form_submit | wpcf7submit(**每次尝试**) | form_id, submission_id(当次新生成 uuid) |
|
||||
| form_submit | wpcf7submit(**每次尝试**) | form_id, submission_id |
|
||||
| form_error | wpcf7invalid / wpcf7spam | form_id, submission_id, error_code(invalid/spam/other——other 为 forward-compat 桶,若 CF7 源码核验发现其他失败事件则启用), field_count |
|
||||
| form_submit_result | wpcf7mailsent → result_code:"mail_sent";wpcf7mailfailed → "mail_failed" | form_id, submission_id, result_code |
|
||||
|
||||
- **submission_id 语义**:一次提交尝试 = 一个 ID(form_submit 时生成;result 引用最近一次的 ID)。form_start 不生成。
|
||||
- **submission_id 语义**:一次提交尝试 = 一个 ID——**原生 submit 捕获时生成并写入隐藏字段**(§1.5 时序设计),form_submit / result 事件引用该 ID。form_start 不生成。
|
||||
- **form_id 规整**:从 CF7 unit_tag/action 解析表单编号 → `cf7-{ID}`(如 cf7-156),不暴露完整内部串。
|
||||
- **不采任何输入值**(OT10);error_code 只取状态码 + 字段数,不采 invalid_fields 明细。
|
||||
- form_submit_result 是**客户端声明**(事件名本身表达,不升级为可信确认)。
|
||||
@@ -94,7 +94,7 @@
|
||||
|
||||
spec 附录写死(阶段C 直接照做,客迹侧零改动):
|
||||
|
||||
1. submission_id:uuid v4,form_submit 生成,`_ctk_sid` 隐藏字段随 POST 传输(§1.5)。
|
||||
1. submission_id:uuid v4,**原生 submit 捕获时生成、form_submit 事件引用**(§1.5 时序),`_ctk_sid` 隐藏字段随 POST 传输。
|
||||
2. 认证端点:`POST /api/integrations/form-confirm`,站点级密钥(HMAC 签名 + 时间窗 ±5min + nonce 防重放 + submission_id 幂等);事件 form_submission_confirmed(白名单届时加入)。
|
||||
3. WordPress mu-plugin 示例(约 20 行 PHP):hook `wpcf7_mail_sent` → 读 `$_POST['_ctk_sid']` + 表单摘要 → 签名转发。
|
||||
4. 浏览器事件缺失时服务器确认仍成立(业务事实保留,浏览轨迹标缺);同 ID 重试不重复计数,内容变化报冲突。
|
||||
@@ -113,7 +113,7 @@ spec 附录写死(阶段C 直接照做,客迹侧零改动):
|
||||
## 7. 风险与边界
|
||||
|
||||
- CF7 事件形态按公开源码+invalid 实测锚定,mailsent 分支上线后以真询盘验证(诚实标注)。
|
||||
- `_ctk_sid` 注入对表单无行为影响(CF7 忽略未注册字段);submit 时更新值的可见性受 CF7 内部时序影响,不可靠场景该次对齐缺失(known-limitation)。
|
||||
- `_ctk_sid` 注入对表单无行为影响(CF7 忽略未注册字段);capture 原生 submit 先于 CF7 handler 构造 FormData,写入顺序确定性成立;残余风险仅为 capture 未及触发的极端时序空值(§5.4 兜底)。
|
||||
- product_view 为 inferred URL 推导:跨语言同产品不关联、URL 结构变化需 bump rule_version。
|
||||
- track 与自动监听双发:靠文档约定(不强制拦截),RawBatch 可诊断。
|
||||
- 询盘漏斗末级为客户端声明(未验证措辞),阶段C 接确认通道后升级为"已验证询盘"。
|
||||
|
||||
Reference in New Issue
Block a user