该模型为每个用户维护独立的法币/数币账户与余额,不涉及链上抵押品。
本组概览
本组汇总了您从接入开发到生产上线所需的技术配置与安全凭据:1. 密钥与请求头
您会从 DCS 拿到什么
apiKey 是一个全局唯一标识,方便身份识别与数据分析;为防止他人冒用您的 apiKey 发起请求,需配对 secretKey 按约定规则生成签名,并随请求一并提交给 DCS 验证。DCS 会通过安全渠道向您交付这对密钥,接入机构对接口的任何调用都应遵循约定的签名协议。
沙盒环境的apiKey/secretKey请联系 DCS 团队获取;生产环境必须走 生产环境密钥的安全提取。
每个请求必带的头
接入机构对接口的每次调用,都需在 HTTP 头中携带以下各头:
缺少
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)完整请求示例(GET)
此例中payload = externalUserId=<externalUserId>&cardId=<cardId>(GET 的查询参数)。验证您的实现时,先用 DCS 提供的同一组apiKey/timestamp/nonce/payload复算出相同的X-DAPI-SIGN,再上线。
统一响应结构
所有接口返回统一结构:判断成功请以code == "SYS_SUCCESS"为准。响应结构不含success布尔字段,请勿依赖该字段。
3. 生产环境密钥的安全提取
为避免生产环境的apiKey/secretKey 在交付途中泄露,生产密钥不直接发给您,而是走一次性安全提取流程。
沙盒环境无需此流程,直接联系 DCS 团队获取即可。
流程(谁做)
- 接入机构提供:一个安全邮箱地址 + 一个用于提取的请求 IP。
- 邮箱用于接收提取指引;该 IP 会被加入「提取密钥」白名单。
- DCS 发送:安全邮箱收到一封邮件,内含一个仅一次有效的临时安全链接。
- 接入机构提取:把
extractUrl与extractSecretKey拼接后,在指定 IP 的机器上执行,即可领取apiKey/secretKey。
邮件中的字段
成功响应
此处仅展示失败响应结构。具体错误码请以接口实际返回及 DCS 针对本产品提供的字典为准,本版不引用其他产品的错误码表。
下一步 / 相关
鉴权配通后,前往 快速开始 跑通第一张卡,或先在 前置准备 确认开通与回调已就绪。 其他接入资源:- IP 白名单:向 DCS 报备您的网络出口地址,用于接口调用放行与生产凭证安全提取。
- SessionId 加密与公钥配置:DeCard 托管模式实际具备的加密与签名能力汇总。
- H5 KYC 与开卡引导页:嵌入式 KYC 与开卡引导流程。
- Web SDK 接入:前端集成 SDK。
- Webhook 与 WebSocket 实时通知:事件回调(Webhook)与 WebSocket 实时推送(DeCard 托管特色)。

