跳到正文
开灵科技 - 北京开灵科技有限公司API百宝箱

📱 白标 H5 · 发链接办开通

企业法人、散户本人在自己手机上把开通手续办完,手机端不持有任何密钥。 你方后端用标准签名换一条一次性链接,把链接发给本人即可;页面套用你方品牌,不出现本平台名称。

怎么用(三步)

  1. 你方后端调 POST /api/v1/icbc/h5/session,拿到 url。
  2. 把 url 用短信 / 企业微信 / 公众号发给本人(法定代表人,或要入驻的散户)。
  3. 本人点开链接办完,自动回到结果页;你方按 token 查状态即可,无需本人再回传什么。

品牌(企业名称 / LOGO / 主色)由平台按你方 app_key 配置一次,之后所有链接自动套用。需要调整请联系开灵项目经理。

① 开链接

POST  https://openapi.kailingteck.com/api/v1/icbc/h5/session

鉴权:X-App-Key + X-Timestamp + X-Sign,与平台其他接口一致(sha256(appKey + timestamp + body + appSecret),小写十六进制)。

参数类型必填说明
sceneString必填场景:enterprise=企业授权(法人扫码) / seller=散户入驻(本人刷脸)
payloadObject必填本次办理要用的业务字段,见下方两张表。字段会原样带给工商银行
ttlHoursNumber选填链接有效期(小时),默认 72,最长 720
jumpUrlString选填办完后你希望用户回到的你方页面(预留,当前版本回到本平台结果页)

返回 data

字段类型必返说明
urlString是发给本人的 H5 链接,直接短信/企业微信/公众号发出去即可
tokenString是会话标识,用于你方留档与对账
sceneString是回显本次场景
expiresAtString是链接过期时间
{
  "code": "CYT_00000",
  "msg": "success",
  "data": {
    "url": "https://openapi.kailingteck.com/h5/9f2c…c1",
    "token": "9f2c…c1",
    "scene": "seller",
    "expiresAt": "2026-08-27 10:12:33"
  }
}

② 场景 A · 企业授权(scene=enterprise)

法人在页面上点「去授权」→ 跳到税务授权二维码 → 用电子税务局 App 扫码确认 → 自动回跳。

payload 字段必填说明
archiveType必填开票档案类型(工商银行分配)
companyName选填授权企业名称,仅用于在页面上回显给法人确认
outVendorId选填你方企业编号
partnerMerTrueAppId选填合作方真实商户编号
unitNumber选填单位编号
humanType选填人员类型
authHumanType选填授权人类型
authPersonNumber选填授权人编号
{
  "scene": "enterprise",
  "payload": {
    "archiveType": "01",
    "companyName": "某某再生资源回收有限公司"
  }
}

页面上已经替你提醒本人的三件事

  • 必须用电子税务局 App 扫码,微信、工商银行 App 都扫不了。
  • 扫码前先在 App 里登录本企业,且必须法定代表人或财务负责人本人操作。
  • 授权完成后还要在电子税务局里手动下载一次发票,自动开票额度才生效——漏了这步后面开票会一直失败。

③ 场景 B · 散户入驻(scene=seller)

本人填资料 → 跳工商银行实人认证刷脸 → 回跳后平台自动查认证结果并建收款人 → 页面显示受理与审核状态。

payload 里能预填多少就预填多少,本人在手机上要输的就少多少;只有 outUserId 是必填的,其余留空则由本人在页面上填。

payload 字段必填说明
outUserId必填散户在你方系统里的唯一编号,后续查状态、下单都用它
businessType选填业务类型:0004 再生资源 / 0005 农产品 / 0006 开票业务。不传默认 0004
appIdSub条件必填付方(收购企业)编号,再生资源场景必填
receiverName选填姓名。预填后页面自动带出
idNo选填身份证号。预填后页面上脱敏显示,本人可点「修改」改掉
mobile选填手机号,同上
receiverAccount选填收款银行卡号
accountCode选填0=非工商银行卡 / 1=工商银行卡
bankName选填开户银行名称(非工行卡)
bankCode选填联行号(非工行卡)
occupation选填职业代码 1–15
address选填住址,不少于 4 个汉字
signDate选填身份证签发日 yyyy-MM-dd
validityPeriod选填身份证有效期截止日,长期填 9999-12-30
{
  "scene": "seller",
  "payload": {
    "outUserId": "KL20260824001",
    "businessType": "0006",
    "receiverName": "棋莲仪",
    "mobile": "13218834672"
  }
}

身份证号、手机号在页面上脱敏显示(如 320426********60),防止链接被转发后泄露;本人可点「修改」改成正确的。

④ 查办理状态

同一条链接的状态,直接读会话即可(token 即凭证,无需签名,建议服务端调用):

GET  https://openapi.kailingteck.com/api/h5/<token>
字段说明
statuspending 办理中 / done 已办结 / failed 失败
stepinit 未开始 / redirected 已跳工商银行 / verified 已核对实名结果 / submitted 已提交建档
result办结详情:实名认证结果 face、建档结果 add、给用户看的 message
{
  "ok": true,
  "scene": "seller",
  "status": "done",
  "step": "submitted",
  "result": {
    "face": { "authResult": "02" },
    "add":  { "returnCode": 0, "outUserId": "KL20260824001", "businessType": "0006" },
    "message": "资料已提交,等待银行审核,审核结果会通知到企业"
  }
}

散户的最终审核结论以入驻审核回调 / ⑤ 入驻审核结果 为准;本接口反映的是「本人这一侧的手续办没办完」。

注意事项

  • 链接是一次性、按人发的,请勿在群里群发;默认 72 小时过期,过期后重新开一条即可。
  • 散户入驻受工商银行按银行卡号去重约束:同一张卡有审批中记录时会返回 30601013,属正常拦截,等上一笔审完再提交。
  • businessType 取 0004 / 0005 需该商户已在工商银行开通对应业务;未开通会返回 30601004 平台商户未开启智慧清分。
  • 页面自适应手机,建议直接在微信内或系统浏览器打开;实人认证由工商银行页面承接,平台不接触人脸数据。