Webhook 事件与强平预警
商户 Webhook 四类事件、幂等身份、强平预警字段和资金结果示例。
本文同步自 Agent Java SDK WEBHOOKS.md(提交 fa6c7b6)。本次仅更新文档,没有发布包含预警辅助方法的新 SDK 制品。
四类事件共用商户配置的一个回调地址(agents.webhook_url),按正文 event 分流;无需为预警单独配置 URL。下列均为结构示例,不用于向测试环境注入数据。
事件与幂等
商户预警 event 为 liquidation.warning,用户 WebSocket 的 data.event 仍为 LIQUIDATION_WARNING。不要混用两种通道。
兼容:历史商户通知曾使用 LIQUIDATION_WARNING。已冻结的发送正文及重试保持原样,接收端需同时识别两种名称。如果业务库原来使用大写前缀的预警键,必须继续使用原键或在迁移期查询两种键,避免再次处理。
本仓库当前 WebhookVerifier.idempotencyKey 只提取资金事件的 orderType:orderId:targetStatus,对预警正文会返回空串。 本次仅更新文档,没有发布包含预警辅助方法的新 SDK 制品。接收预警时,可继续使用现有 verify 方法验证原始正文签名;验签及归属校验通过后,在商户业务代码中识别上述两个事件名,校验 notificationId 为正整数十进制字符串,并构造 liquidation.warning:<notificationId>。不要把空串作为去重键,也不要要求预警具有资金订单字段。
去重必须在商户与 environment 范围内持久化,并与业务处理原子提交。不同 notificationId 的 FIRST/UPGRADE/REMINDER 都是独立通知;不要按用户、轮次或 eventType 合并丢弃。空幂等键表示无法提取有效身份,不能拿空串去重。SDK 只返回辅助键,不会保存或执行业务。相同身份不同正文应作为冲突记录,不覆盖已处理正文。
强平预警字段和示例
资金划转结果示例
资金回调沿用既有类型:orderId 与 agentId 为 JSON 数字,amount 与 platformUserId 为字符串。不要套用预警的 agentId 字符串约定;读取大整数须使用无损整数/十进制类型。completedAt 为 UTC RFC3339,ts 为 Unix 秒。
冲正结果示例
资金订单终止示例
上述示例仅展示协议;FAILED 的 rejectCode/rejectMessage/failReason 按实际拒绝结果返回,不能仅凭事件名判断资金已入账。