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(见 业务码)。
  • 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 不可重复
DigeststringSHA-256= + Base64(SHA256(原始 body);GET / DELETE 对空字节)
AuthorizationstringSignature keyId=...,alg="ES256",headers="...",signature="..."