Z Zise Developers
账户中心 › 指南

原时间字段保持兼容,新增 UTC Unix 毫秒时间戳;显示时区由客户端决定。

时间与时区

绝对时刻

响应中的绝对时刻保留现有字段、类型和含义,同时新增 原字段名加 _ms 的字段。新增值为 JSON 整数,OpenAPI 类型为 integer、格式为 int64,单位固定为毫秒,表示自 1970-01-01T00:00:00Z 起经过的毫秒数,不携带地区时区。


{
  "created_at": "2026-09-14T08:05:08.680Z",
  "created_at_ms": 1789373108680
}

同一时刻在上海为 2026-09-14 16:05:08.680,在 UTC 为 2026-09-14 08:05:08.680。不要给时间戳加减八小时。仅在最终展示时根据设备或用户选择的时区格式化。夏令时使用系统时区规则处理,不用固定小时偏移代替地区时区。

规则适用于对象、列表及嵌套 DTO,例如 created_at_ms、updated_at_ms、occurred_at_ms、expires_at_ms、时间线的 at_ms、汇率的 as_of_ms。驼峰旧字段也不改名,例如 createdAt 对应 createdAt_ms。已有同名 _ms 字段不被覆盖。

原值为空或已识别的时间字段无法安全解析时,新增值为 null,不使用 0 或当前时间代替。带时区的 ISO 时间支持小数秒和不带小数秒;超过毫秒的精度截取至毫秒。没有时区的时间字符串不会被擅自解释为 UTC 或服务器本地时间。

旧的秒级字段

令牌、KYC 会话及提权会话既有的 expired_at、expires_at 数字仍为 Unix 秒,只将其新增的 _ms 字段转换为毫秒。不要改变旧字段的读取方式。未知单位的数字不根据位数推断,也不自动乘以 1000。

不转换的字段

Webhook 与重放

新生成的商户 Webhook 在入队前补齐时间字段,随后对最终载荷签名和发送。重试使用队列中同一份载荷,不因当前时间或设备时区重新生成时间值。已入队的历史 Webhook 不回写,以免改变在途载荷或签名输入。

接口幂等重放可对历史 JSON 响应补充相同的派生时间戳,原业务字段保持不变,不会再次执行业务,也不会使用重放时刻替换原事件时间。接入方应忽略未知响应字段,不依赖 JSON 属性数量或字节级顺序。

客户端展示

推荐优先读取新增的 _ms 字段;兼容旧版本服务端时,可以回退解析带时区的原 ISO 字段。iOS 的 Unix 时间构造函数使用秒,因此需要将毫秒除以 1000 后构造 Date。设备时区控制钟表时间和按日分组,App 语言控制日期文字和排列方式。App 切回前台或设备时区变化时,应重新格式化已有时间,不重新创建业务记录。