区块链 · 数字资产知识 · 行业资讯
文章库关于本站

交易平台观察

币交易所订单查询怎样区分编号|服务端订单ID与客户端关联ID分别保存

摘要

订单资料常同时出现平台订单号、客户编号和本地备注。依据Coinbase与Kraken官方文档,整理编号的生成主体、查询位置及唯一范围,避免把关联标签当作执行结果。

区块链交易记录的科技主题配图

编号相似,不代表指向同一种对象

整理币交易所订单查询资料时,先记录编号属于哪个平台、哪套接口,以及由谁生成。Coinbase Exchange文档区分交易所分配的id与客户端指定的client_oid;两者可关联同一订单,却不是同一个字段。本文只解读公开文档,没有接入私人账户,也没有提交、撤销或重试交易。

Coinbase单订单查询允许使用这两类标识,但路径参数采用client_oid时,必须带上client:前缀。这说明查询入口还需要明确编号类型,不能把一串字符直接当作通用订单号。响应另列product_id、profile_id及状态等资料,归档时保留这些上下文,有助于避免把不同账户范围或交易对的记录混在一起。

客户生成的标识也受格式和使用阶段限制

Coinbase创建订单文档把client_oid列为可选字段,由交易应用生成,并要求符合指定UUIDv4格式,包括小写字母及分组连字符。文档特别提醒,格式不正确的值可能经REST接收,却不会被处理,也不会出现在后续REST查询中。因此,本地已经生成编号这件事,本身不足以证明平台存在对应订单。

该文档说明,公开数据流的received消息会带出客户编号,客户端应据此记录服务端order_id,以关联后续订单状态更新;创建请求的HTTP响应也会在id字段返回服务端编号。这里要区分消息流后续更新使用哪种编号,与单订单REST查询支持哪种查找入口,不能把前者理解为客户编号从此在所有接口都失效。

区块链限价委托的科技主题配图

Kraken的分组标签与订单标识另有边界

Kraken Spot REST的Query Orders Info把txid定义为Kraken订单标识,并允许以逗号分隔多个编号;这里的txid不能仅凭名称就当作链上交易哈希。该接口还将userref列为限制结果范围的用户参考值,而txid仍是必填项。不能由存在userref筛选项,就推断它在这条接口中总能替代订单编号。

Kraken的Add Order文档进一步说明,userref是可关联多个订单的非唯一整数;cl_ord_id则用于每位客户的未结束订单的唯一识别,两者不能同时用于同一订单。后者支持规定的UUID或有限长度ASCII文本格式。两个字段都可由客户赋值,但唯一范围不同,不能一并概括为永久唯一的客户流水号。

关联卡保留原始编号,不替执行结果下结论

设一张完全虚构的本地工单叫周一核对甲,它可分别记录本地工单名、实际客户编号、平台返回编号与观察时间。工单名只是自己的备注,不能直接塞入要求UUID的字段。若两张Kraken订单卡共享同一userref,可以按文档把它理解为分组标签;仍应各自保留txid,不能为了去重而把两笔订单合成一笔。

这种关联卡是本文的数据整理建议,不是平台规定的统一格式。归档可同时保留原响应、编号类型和所用接口版本,再单独记录观察到的订单状态。唯一标识的约束并不自动证明网络重试只执行一次;是否允许重复提交、如何处理超时,仍需相应接口的明确规则。本文不据一个编号或一条缺失响应判断真实订单已成交、未提交或可以安全重发。

← 返回全部文章

延伸阅读 · 相关栏目

行业资讯研究与报告政策资料交易平台观察