快速开始

欢迎使用 Credit Kernel 开放 API。本文说明通用接入方式、请求签名、以及统一的返回约定。完成账号开通后,请按左侧各产品文档完成联调。


1. 简介

Credit Kernel 数据服务面向信贷与风控场景,提供黑名单查询、证件识别、证件真伪检测、薪资单识别等能力。接入方通过 HTTPS 调用 API,使用平台下发的凭据完成认证。

建议阅读顺序:

  1. 本文「快速开始」(凭据、签名、返回码)
  2. 对应产品接口文档(路径、入参、出参)
  3. 联调通过后切换生产环境地址(以开通邮件为准)

2. 名词说明

术语 说明
API Key 请求头 X-API-Key,标识调用方身份
Secret 签名密钥,仅用于服务端计算签名,不得下发到 App / 浏览器
Status / code 业务或网关返回状态;请以状态码做分支判断,文案仅供参考,可能调整
计费标记 部分接口返回是否计费(如 PAY / FREE,或命中才计费),以各产品文档为准

3. 接入步骤

  1. 申请试用或商务开通,获得测试账号与凭据(API Key、Secret)。
  2. 按本文完成签名实现,用右侧代码示例做一次验签自检。
  3. 按产品文档构造业务请求,确认成功与失败的返回结构。
  4. 注意限流与配额;超限时按返回码退避重试。
  5. 正式上线前切换生产网关地址,并妥善保管生产 Secret。

4. 请求签名(经数据网关的接口)

数据服务网关 调用的接口(如证件真伪检测等),须在请求头携带签名。黑名单等产品若在文档中约定了独立验签方式,以该产品文档为准。

4.1 凭据

凭据 用途
X-API-Key 明文身份标识,放在请求头
Secret 仅用于 HMAC 计算,禁止写入前端、客户端、日志或代码仓库

4.2 请求头

请求头 必填 说明
Content-Type JSON 请求固定为 application/json
X-API-Key 平台分配的 Key
X-Timestamp Unix 级时间戳(勿用毫秒)
X-Nonce 每次请求唯一的随机串,防重放
X-Signature Base64(HMAC-SHA256(secret, canonical))

4.3 签名串

canonical =
  METHOD + "\n" +
  RAW_PATH + "\n" +
  sortedQuery + "\n" +
  bodySha256 + "\n" +
  timestamp + "\n" +
  nonce

signature = Base64( HMAC-SHA256(secret, canonical) )

要点:

  • METHOD 大写;RAW_PATH 为问号前的原始路径(保留百分号编码)。
  • 无 query 时 sortedQuery 为空字符串,但仍占一行(两个换行之间为空)。
  • JSON Body:先按 RFC 8785(JCS)规范化,再算 SHA-256(小写 hex)。
  • 空 Body:bodySha256 固定为
    e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  • Secret 按 UTF-8 原文参与 HMAC,不要先做 Base64 解码。
  • X-Signature 为标准 Base64(含 + / =),非 URL-Safe。

4.4 请求示例

curl -X POST "https://data-gateway-test.creditkernel.ai/api/v1/blacklist_check" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: <Your API Key>" \
  -H "X-Timestamp: <epoch_seconds>" \
  -H "X-Nonce: <random_nonce>" \
  -H "X-Signature: <Base64 HMAC>" \
  -d '{"requestId":"<uuid>","args":{"idType":"UMID","idNumber":"011145131134","phoneNumber":"9674315469"}}'

完整可运行的 Java 示例工程文件可由对接同学另行提供;右侧「代码示例」展示常用 curl,便于复制联调。

4.5 自检向量(可选)

若实现与下列结果一致,说明 JCS / HMAC / Base64 已正确:

path /api/v1/blacklist_check
timestamp 1779340359
nonce n-550e8400-e29b-41d4-a716-446655440000
bodySha256 2a3afc39ddc0f44fe7fb0f119e87e32f2da21ce970b5aabb1088f7ff7c27e00b
signature T7k4ytsf0rHYG6Y5/PQkgTqZKORdhDAmF55ksZxs0rw=

(样例 Key / Secret 仅用于算法自检,生产请使用正式下发值。)


5. 返回结果与状态码

请优先根据 状态码 / status / code 编写业务逻辑,不要依赖提示文案的固定措辞。

5.1 网关层常见 HTTP 状态

HTTP 含义 建议处理
200 请求已被网关受理;业务成败看 Body 解析业务字段
401 鉴权失败(Key / 签名 / 时间窗 / 重放) 核对签名与时钟,更换 nonce
403 无权限或账号禁用 联系对接同学
429 触发限流 退避重试
5xx 服务端异常 有限次重试后告警

5.2 业务 Body 常见字段

不同产品字段名可能略有差异,常见形态如下:

字段 说明
status / code 业务状态:成功、参数错误、余额不足等
msg / message 说明文案,仅供展示与排查
data 业务数据对象;失败时可能为 null
request_id / requestId 请求跟踪号,反馈问题时请一并提供
计费相关 pricing_strategyhit 是否计费等,见各产品文档

5.3 业务状态示例(示意)

状态 说明
SUCCESS / success / 1 调用成功(是否计费见产品规则)
ERROR 服务端错误
EMPTY_PARAMETER_ERROR / 参数为空 必填缺失
PARAMETER_ERROR 参数格式不合法
INSUFFICIENT_BALANCE 余额或配额不足
SERVICE_BUSY 繁忙或超限,请稍后重试
IAM_FAILED 身份鉴权失败

各产品若定义了专属错误码表,以产品文档为准;上表用于统一理解「用状态码分支」的接入习惯。

5.4 注意事项

  • 成功状态也可能因产品规则产生费用,或未命中不计费——以产品「计费说明」为准。
  • Message 文案可能迭代,不要用全文匹配 Message 做判断。
  • 重试时务必重新生成 X-NonceX-Signature

6. 请求参数约定

约定 说明
请求地址 见各产品「请求地址」;测试 / 生产域名以开通通知为准
必填参数 未标注可选的均为必填
可选参数 文档中标明「可选」;省略时使用默认值
文件 / 图片 注意大小、格式与清晰度要求(见产品文档)

7. 下一步

请从左侧选择已开通的产品文档继续阅读,例如「黑名单查询」「证件识别」「证件真伪检测」「薪资单识别」。如需变更开通范围,请联系客户经理。