docs: 补充 Webhook 与 Callback 对比说明、Portal 配置路径、URL 区分及配置验证步骤 - #379
Conversation
运行过程记录(自动生成)本评论记录本次 doc 运行的内部过程,便于审查每个结论的来源。 1. 意图(确认后)T95438 — 模块 A Webhook & Callback 体系,文档问题 1。 识别出四个独立文档问题,均属于"内容缺失"或"内容不清晰"类型:
范围约束(来自 feedback C-#30/P-#5):仅修改 Custody 文档,不触碰 Payments 文档。 2. 探索发现(按仓库 × explorer)developer-site(primary)
custody(后端)
custody-2.0-website(Portal 前端)
cobo-libs
developer-site-waas2(API spec)
3. 综合结论置信度:高 所有四个任务均有充分代码证据支撑, 关键结论:
开放问题:无 4. 编辑计划8 个任务,4 个 EN 文件编辑 + 4 个 CN 镜像:
所有任务 CN set-up-endpoint 文件中锚点 5. 评审轮次上游 handoff 报告:所有 8 个任务均已批准并验证通过( 6. 基线与同步
|
运行过程记录(自动生成)本评论记录本次 doc 运行的内部过程,便于审查每个结论的来源。 1. 意图(确认后)T95438 (https://pha.1cobo.com/T95438) — 模块 A Webhook & Callback 体系,文档问题 1。Feedback 引用 C-#30 和 P-#5(T95438 内的子项/评论);由于 MCP 服务不可用,无法直接获取,分析基于内联摘要文本。范围约束:本次仅修改 Custody 文档,不触碰 Payments 文档。 识别出四个独立文档问题(均属于"内容缺失"或"内容不清晰"类型): [1] webhook-callback-concept-table(内容缺失):Webhook vs Callback 对比表缺少"方向"(谁发起调用)与"是否必须实现"两列。证据:T95438 内联 — '覆盖 C-#30/P-#5:方向/触发时机/是否必须实现对比表'。 [2] portal-custody-config-path(内容缺失):未记录在 Custody Portal 中配置 Webhook/Callback Endpoint 的具体导航路径。证据:T95438 内联 — 'Portal 配置路径(Custody vs Payments 入口对比)'。仅补充 Custody 路径,Payments 入口本次不在范围内。 [3] webhook-url-vs-tss-callback-url(内容不清晰):未区分"Webhook URL"、"Callback URL"和"TSS Callback URL"三个概念。证据:T95438 内联 — 'webhook URL 与 TSS callback URL 区别'。 [4] config-completion-verification(内容缺失):Custody Webhook/Callback 配置完成后,缺少验证配置是否生效的步骤说明。证据:T95438 内联 — '配置完成验证步骤'。 2. 探索发现(按仓库 × explorer)注:各 explorer 的完整 findings 体积超出单条评论上限,以下按规范截断为 handoff_brief 摘要行 + code_evidence 引用,完整 findings 已归档于运行产物。 仓库组 1:developer-site(主仓库 worktree) Explorer b1-1 handoff_brief: code_evidence 引用(b1-1):
Explorer b1-2 handoff_brief: 仓库组 2:custody-2.0-website(Portal 前端) Explorer b2-1 handoff_brief: code_evidence 引用(b2-1):
Explorer b2-2 handoff_brief: 仓库组 3:developer-site-waas2(API spec 源) Explorer b3-1 handoff_brief: code_evidence 引用(b3-1):
Explorer b3-2 handoff_brief: 仓库组 4:cobo-libs(共享库) Explorer b4-1 handoff_brief: code_evidence 引用(b4-1):
Explorer b4-2 handoff_brief: 3. 综合结论综合结论(synthesizer 输出) 四个缺口全部在 Custody developer-site 中确认,均有跨仓库代码证据。所有改动落在两个现有页面(introduction.mdx + set-up-endpoint.mdx)及其 CN 镜像文件中;无需新建页面,无 API spec 改动,不触碰 Payments 文档。
置信度:0.9 开放问题(1 项,不阻塞任务): 汇总代码证据清单:
4. 编辑计划共 8 个任务(4 EN + 4 CN 镜像),所有任务
CN set-up-endpoint 文件锚点说明:task 完整计划 JSON 已归档于运行产物(体积超限,此处不内联)。 5. 评审轮次一次通过。 Reviewer 判定(来自 artifacts.final_review):所有 8 个任务实现正确,编辑已批准。具体确认:
6. 基线与同步
|
cobosteven
left a comment
There was a problem hiding this comment.
Verdict: REQUEST_CHANGES
本次为纯概念性 Webhook/Callback 文档变更,未发现自造或错误的 error code;custody 可验证的行为性论断(Callback 响应强制 200/201 + ok/deny、30 次重试、Webhook fire-and-forget 无审批、TSS Callback URL 独立于 Portal)均已确认。EN/CN 四个文件的新增内容双语条目齐全。但存在 1 处 must_fix:验证步骤没有给出可直接执行的 curl/CLI/Portal 操作,因此按规则需要 REQUEST_CHANGES。
【must_fix】(标准合规) v2/guides/webhooks-callbacks/set-up-endpoint.mdx:190 及 v2_cn/guides/webhooks-callbacks/set-up-endpoint.mdx:178 —— 'Webhook endpoint' 验证步骤 1 违反 developer-actionable 规则:仅提示使用 Trigger test webhook event API 或 cobo webhook trigger,未给出完整可执行动作。请补充完整 curl 请求(含 endpoint、必需 header 如 BIZ_TIMESTAMP/BIZ_RESP_SIGNATURE、请求体)或完整 CLI 调用(含全部必填参数),或给出精确的 Portal 点击路径。
关联来源
意图
本次变更对应 T95438 中 Webhook & Callback 文档问题(模块 A),补充了四处缺失或不清晰的内容:(1)在对比表中新增"方向"与"是否必须"两列;(2)在步骤说明中补充 Custody Portal 的具体配置路径;(3)新增 Note 区分三种 URL 概念(Webhook Endpoint URL、Callback Endpoint URL、TSS Callback URL);(4)新增配置完成后的验证步骤章节。改动范围限 Custody(WaaS 2.0)文档,不涉及 Payments 文档。
变更摘要
v2/guides/webhooks-callbacks/introduction.mdx:在 Webhooks vs Callbacks 对比表中新增"Direction"和"Required"两列;在步骤 3 后补充 Webhook Endpoint 与 Callback Endpoint 在 Portal 中的导航路径;在该小节末尾新增 Note 区分 Webhook Endpoint URL、Callback Endpoint URL 和 TSS Callback URL 三个概念并附交叉链接。v2/guides/webhooks-callbacks/set-up-endpoint.mdx:在"Advanced usage"节与 Important notes Warning 之间新增"Verify your endpoint setup"章节,分别说明 Webhook Endpoint 和 Callback Endpoint 的配置验证步骤。v2_cn/guides/webhooks-callbacks/introduction.mdx:上述 EN 文件的中文镜像,内容同步翻译为中文。#常见投递失败原因而非#common-delivery-failures,与 CN 文件实际标题一致,属于有意偏差。v2_cn/guides/webhooks-callbacks/set-up-endpoint.mdx:上述 EN 文件的中文镜像,新增"验证您的 Endpoint 配置"章节。代码证据
custody/waas2/developers/managers/callback_message.py:240-245— DELIVERED 要求 status_code 在 [200,201] 且 body_text 为ok/deny,证明 Callback 响应是强制要求custody/waas2/webhooks/models.py:20-56— WebhookEvent 为 fire-and-forget 推送并带重试,无审批逻辑,证明 Webhook 订阅是可选的custody-2.0-website/src/pages/Developers/PortalDevelopers/index.tsx:33-52— WaaS 2.0 Portal Tab 包含 apikeys、webhooks、events(Webhook Events)、responses(Callback Messages),无独立 Callbacks 注册 Tabcustody-2.0-website/src/pages/Developers/APIKeys/AddOrEditAPIModal/CallbackUrlsSection/index.tsx:76-92— Callback URL 配置位于 API Key 创建/编辑弹窗内,Test Connection 返回 isSuccess/statusCode/responseBody/costMscustody-2.0-website/src/locales/en-US/menu.ts:13-16— Portal 英文 UI 标签确认:Webhooks、Webhook Events、Callback Messagesv2/guides/mpc-wallets/server-co-signer/callback-server-configure.mdx:64-80— TSS Node YAML 中callback.cb_server_v2[].service_address即 TSS Callback URLcobo-libs/cobo_libs/cobo_mpc_callback/README.md:49— TSS Callback Endpoint/cobo-mpc/v2/check/使用 JWT/RS256 认证,在 TSS Node YAML 中配置,与 Portal 完全独立developer-site-waas2/v2/cobo_waas2_openapi_spec/paths/webhooks/trigger_test_event.yaml:4-12— Trigger test event API 确认:发送至所有已注册 Webhook Endpoint,支持 Transaction 和 TSSRequest 事件数据类型v2/guides/webhooks-callbacks/set-up-endpoint.mdx:86-87— 现有文档已确认 Delivered 状态在返回 200/201 时设置,Portal Webhook Events 有重试 UIv2/guides/webhooks-callbacks/set-up-endpoint.mdx:115-117— 现有文档已确认 Delivery logs 路径:Portal > Developer > Webhook Events / Callback Messages > event > Delivery logs无