⚠️ 业务接口的金额走内部定点转换,送不出 0.005(会舍成 0.01,这是红线 R4 按预期工作)。 要复现 P20 请走 接口台的 transfer/in。
转账流水(OC 侧本地账本)
| orderId | 方向 | 金额 | 状态 | HTTP | 平台 code | 平台 msg | 平台余额原值 | 验签 | 耗时(端到端) | 备注 | |
|---|---|---|---|---|---|---|---|---|---|---|---|
{{ r.orderId }} |
{{ r.direction }} | {{ r.amount }} | {{ st(r.status).label }} | {{ tri(r.httpStatus) }} | {{ tri(r.platformCode) }} | {{ r.platformMsg }} | {{ r.platformBalanceRaw || '—' }} |
{{ sign(r.respSignOK).text }} | {{ r.costMs }}ms | {{ r.note }} |
还没有流水。
⚠️ UNKNOWN 不是 FAILED 的一种:请求发出但没拿到可判定的答复(超时 / HTTP 500 空 body / 非 JSON), 平台那边可能已经做了。把未知当成没发生,是单独一类的错误。
{{ gamesNote }}
启动结果 · {{ launch.game }}
{{ launch.resp.launchUrl || '(空)' }}
⚠️ 这里的单位是秒,转账那边的 timestamp 是毫秒。默认范围是最近 1 小时。
⚠️ 跨自然月返 5004,不是 5018。后端会按自然月自动切分,每段单独一次调用。
{{ orders.note }}
段 {{ i+1 }} · {{ s.label }} [{{ s.startTime }}, {{ s.endTime }}]
{{ badge(s.call).detail }}
{{ s.data || s.call.rawResp || '(空 body)' }}
⚠️ 注单的 data 是原始 JSON,不解析成表格:字段名经过平台的 camelCase 重写, 本地没有真实样本可核对,解错了还不如不解。等 P14 修好、拿到真样本再做表格。
这三类当前没有业务接口,走接口台的 raw 入口(《11》8.1 有说明,不是漏了)。
⚠️ 游标拉单的终止条件是 code=7 + msg「最小值超过最大值」——
那不是错误,是已经拉完了。
⚠️ 区间是 id ∈ [minId, minId+pageSize-1],是个 ID 窗口不是「下 N 条」。
ID 在所有商户间共享,一个 1000 宽的窗口可能只返 3 条,
所以游标按 pageSize 步进,不按返回条数步进。
⚠️ 跨自然月不报错但会静默漏单(P17)。
⚠️ activity/* 三个接口文档完全没有(C5),是从路由里读出来的。
这是「14 接口全覆盖」的结构性保证,不靠自觉。 业务流里用不到的接口(historySearch 取 ID 上下界、exchange、activity/*) 在这里同样有一张卡。当前共 {{ benchCount }} 张。
{{ ep.name }} {{ ep.path }}
{{ ep.signDesc }}{{ f.name }}
{{ f.kind }} |
{{ f.note }} |
{{ preview(ep).bodyText }}
未发送的字段:{{ o.field }}({{ o.reason }})
⚠️ 这些字段的文本解析不成数字,已按字符串发出(负例照样送得出去):
{{ c }}
{{ badge(bench[ep.name].result).detail }}
{{ bench[ep.name].result.msg || '(空)' }}{{ bench[ep.name].result.reqSign }}
这是 MD5 结果,不是密钥{{ bench[ep.name].result.rawResp || '(空 body)' }}