Skip to content

公共协议 ​

请求约定 ​

  • 所有业务接口均需携带公共鉴权 Header(见 公共请求 Header),签名算法见 签名规则。
  • GET(查询):业务参数放 Query;Digest 对空 body计算。
  • POST(询价、下单、算费):业务参数放 JSON Body;Digest 对原始请求体字节计算。

GET Query 示例:

text
/coin/v1/exchange/query?trade_sn=ORD-001

POST Body 示例:

json
/coin/v1/exchange/quote
{
  "receive_amount": 100,
  "pay_currency": "BRL",
  "receive_currency": "USDT"
}

响应约定 ​

HTTP 层统一封装,业务字段只在 data。

成功示例:

json
{
  "status": 200,
  "msg": "SUCCESS",
  "data": {}
}

异常示例:

json
{
  "status": 401,
  "msg": "签名校验失败",
  "data": {}
}

说明:

  • 接口正常时 HTTP 状态码通常返回 200,业务状态看 Body status(见 业务码)。
  • msg 随请求语言返回(见 语言);下文示例为中文。
  • data 为接口业务数据;失败时一般为 {}。
  • 业务时间字段(expires_at / created_at / finished_at)为 RFC3339,含时区,例如 2026-06-16T16:00:10+08:00。

公共请求 Header ​

所有 /coin/v1/* 接口均需携带以下 Header:

text
X-Merchant-Id: M1781678976331286876
X-Timestamp: 1710000000
X-Nonce: a9f3c1d47e8b9a2c
Digest: SHA-256=<Base64(SHA256(body))>
Authorization: Signature keyId="<merchant_id>",alg="ES256",headers="(request-target) x-timestamp x-nonce digest",signature="<Base64>"
字段类型必填说明
X-Merchant-Idstring是商户编号(与 Authorization.keyId 一致)
X-Timestampint64是秒级 Unix 时间戳,与服务器偏差不超过 300 秒
X-Noncestring是随机串;5 分钟内同一 X-Merchant-Id + X-Nonce 不可重复
Digeststring是SHA-256= + Base64(SHA256(原始 body);GET / DELETE 对空字节)
Authorizationstring是Signature keyId=...,alg="ES256",headers="...",signature="..."
Accept-Languagestring否响应 msg 语言,见 语言