Skip to main content
无论您是交易所、钱包还是平台方,只要拿到 DCS 交付的一对密钥,就可以用一套统一的签名规则调用所有 DeCard 托管 接口——本页帮您把鉴权一次配通。作为持牌、自有 BIN 的发卡机构,DCS 对每一次接口调用都要求可验证的来源与防重放保护。
该模型为每个用户维护独立的法币/数币账户与余额,不涉及链上抵押品

本组概览

本组汇总了您从接入开发到生产上线所需的技术配置与安全凭据:

1. 密钥与请求头

您会从 DCS 拿到什么

apiKey 是一个全局唯一标识,方便身份识别与数据分析;为防止他人冒用您的 apiKey 发起请求,需配对 secretKey 按约定规则生成签名,并随请求一并提交给 DCS 验证。DCS 会通过安全渠道向您交付这对密钥,接入机构对接口的任何调用都应遵循约定的签名协议。
沙盒环境的 apiKey/secretKey 请联系 DCS 团队获取;生产环境必须走 生产环境密钥的安全提取

每个请求必带的头

接入机构对接口的每次调用,都需在 HTTP 头中携带以下各头:
secretKey 仅用于本地计算签名,切勿在请求头中明文传输。
缺少 Content-Type: application/json 的典型响应:
success=false 来自 Content-Type 缺失时的框架级错误响应,不代表所有业务响应都稳定包含 success。正常集成仍应以 code 判断成败,不要依赖 success 字段。

2. 接口签名(HMAC-SHA256)

签名规则

使用 HmacSHA256 算法,以 secretKey 为密钥,对拼接串签名:
输出为十六进制小写字符串。 拼接串各段说明:
签名算法固定为 HmacSHA256,请一律使用该算法。

防重放(谁做:DCS 校验 / 接入机构生成)

  • TIMESTAMP:取值为 13 位毫秒级时间戳(如 Date.now(),非 10 位秒级)。格式不对会返回 DAPI_TIMESTAMP_FORMAT_ERROR。DCS 只处理有效期 5 秒内的请求,超出即返回 DAPI_TIMESTAMP_EXPIRED——请用当前时间重新生成并重算签名,并确保本地时钟同步。
  • NONCE:每次请求生成一个 [10000, 99999] 的随机数,保证请求一次性有效,请勿复用。
鉴权失败时,请先检查时间戳、nonce 和签名原文;具体错误码以接口实际返回及 DCS 针对本产品提供的字典为准。

签名实现示例

JavaScript(Postman Pre-request Script)
Java

完整请求示例(GET)

此例中 payload = externalUserId=<externalUserId>&cardId=<cardId>(GET 的查询参数)。验证您的实现时,先用 DCS 提供的同一组 apiKey/timestamp/nonce/payload 复算出相同的 X-DAPI-SIGN,再上线。
示例中所有 externalUserIdapiKeyX-DAPI-SIGNTIMESTAMPNONCE 均为占位符,请勿当作真实值;DeCard 托管模式涉及大量终端用户隐私数据,调试日志同样不应记录真实凭据与 PII。

统一响应结构

所有接口返回统一结构:
判断成功请以 code == "SYS_SUCCESS" 为准。响应结构不含 success 布尔字段,请勿依赖该字段。

3. 生产环境密钥的安全提取

为避免生产环境的 apiKey/secretKey 在交付途中泄露,生产密钥不直接发给您,而是走一次性安全提取流程。
沙盒环境无需此流程,直接联系 DCS 团队获取即可。

流程(谁做)

  1. 接入机构提供:一个安全邮箱地址 + 一个用于提取的请求 IP。
    • 邮箱用于接收提取指引;该 IP 会被加入「提取密钥」白名单。
  2. DCS 发送:安全邮箱收到一封邮件,内含一个仅一次有效的临时安全链接。
  3. 接入机构提取:把 extractUrlextractSecretKey 拼接后,在指定 IP 的机器上执行,即可领取 apiKey/secretKey

邮件中的字段

成功响应
失败响应
此处仅展示失败响应结构。具体错误码请以接口实际返回及 DCS 针对本产品提供的字典为准,本版不引用其他产品的错误码表。
若未能成功领取密钥:说明链接可能已在有效期内被使用、密钥存在泄露风险。请立即联系 DCS 商务,重新走邮件流程换发。该提取 IP 与日常接口调用 IP 可以不同,请分别向 DCS 说明用途;IP 白名单的提交方式见 IP 白名单

下一步 / 相关

鉴权配通后,前往 快速开始 跑通第一张卡,或先在 前置准备 确认开通与回调已就绪。 其他接入资源: