中国消费者数字身份标识服务平台API

开发接口文档(中信國際拍賣VIP版)  |  发布时间:2026-3-20

📋 接口目录(点击跳转)
一、接口概述

1.1 接口面向对象

本接口面向中国消费者数字身份标识服务平台开发者用户。

1.2 接口采用技术方式

采用 Web Http Get 与 Post 请求结合方式

接口访问地址:http://cx.digit315.com/xxxx

接口返回数据格式为 JSON,每个返回的数据实体中都包含结果标记 result_code(1:成功,0:失败)和提示信息 result_msg(成功或者错误原因)。

1.3 应用 ID:access_token

开发者需要登录到中国消费者数字身份标识服务平台为要接入的应用系统获取应用 ID:access_token。

开发者申请地址:http://id.digit315.com/website/sp_login.html

示例应用ID:IV3N9XGCYIJP1YA6AAAAAAB

授权 KEY:VPPI13IX1YX3CYYGXNIGPJNNNGI696JG

二、HTTP 通信加密

加密流程说明

假设用户进行 HTTP 通信的 URL 为:

http://id.digit315.com/abc/def?access_token=IV3N9XGCYIJP1YA6AAAAAAB&name=zhangsan&id=123

需要加密的部分为:

/abc/def?access_token=IV3N9XGCYIJP1YA6AAAAAAB&name=zhangsan&id=123

注:File 类型参数正常传递即可,但其不作为加密对象。

加密步骤

第一步:添加 time 参数

假设当前时间为 2017 年 6 月 16 日 12 点 34 分 56 秒 789 毫秒,则当前时间的毫秒数 1497587696789,增加 time 参数,结果为:

/abc/def?access_token=IV3N9XGCYIJP1YA6AAAAAAB&name=zhangsan&id=123&time=1497587696789

第二步:参数名 ASCII 升序排序

将上述字符串中的参数按照参数名的 ASCII 进行升序排序,结果为:

/abc/def?access_token=IV3N9XGCYIJP1YA6AAAAAAB&id=123&name=zhangsan&time=1497587696789

第三步:MD5 加密并添加 hash 参数

将授权 KEY 不加连接符直接拼接到上一步得到的结果的尾部进行 MD5(32 位大写)加密:

/abc/def?access_token=IV3N9XGCYIJP1YA6AAAAAAB&id=123&name=zhangsan&time=1497587696789VPPI13IX1YX3CYYGXNIGPJNNNGI696JG

MD5 加密结果:4E5B67B75447486AFC147BE5DEBF7758

增加 hash 参数到尾部:

/abc/def?access_token=IV3N9XGCYIJP1YA6AAAAAAB&id=123&name=zhangsan&time=1497587696789&hash=4E5B67B75447486AFC147BE5DEBF7758

最终 HTTP 通信的完整 URL

http://id.digit315.com/abc/def?access_token=IV3N9XGCYIJP1YA6AAAAAAB&id=123&name=zhangsan&time=1497587696789&hash=4E5B67B75447486AFC147BE5DEBF7758
三、接口调用流程
申请品类并生成唯一标识节点码

完整调用流程

  • 1. 调用接口 201 获取单位信息(用户名密码登录)
  • 2. 调用接口 101-107 获取品类分类相关基础数据
  • 3. 调用接口 301 申请品类
  • 4. 调用接口 4011/4012 上传码
  • 5. 调用接口 402/403/404 查询和管理上传记录
  • 6. 调用接口 501 查询审核状态
四、品类分类相关基础数据接口
101:根据单位所属类目获取所有用途接口
GET /sp/idcode/codeuse
根据中国消费者数字身份标识服务平台注册用户的类目编码类型获取所有用途。
参数名类型必填说明
access_tokenString唯一的应用ID
categorytype_idInteger类目编码类型ID(可通过接口201获取)
timeString当前时间的毫秒数
hashStringHTTP通信加密字符串
输出参数 JSON 格式
{ "result_code": 1, "result_msg": "成功", "data": [ { "id": 用途ID, "codeuse_name": "用途名称", "codeuse_code": "用途代码" } ] }
返回值代码说明
result_coderesult_msg
1成功
0失败
-1系统繁忙,请稍后再试
10000参数错误
10001授权失败,应用ID不存在
102:根据单位所属类目获取所有品类接口
GET /sp/idcode/industrycategory
根据中国消费者数字身份标识服务平台注册用户的类目编码类型获取所有品类。
参数名类型必填说明
access_tokenString唯一的应用ID
categorytype_idInteger类目编码类型ID(可通过接口201获取)
timeString当前时间的毫秒数
hashStringHTTP通信加密字符串
输出参数 JSON 格式
{ "result_code": 1, "result_msg": "成功", "data": [ { "id": 品类id, "industrycategory_name": "品类名称", "industrycategory_code": "品类代码", "industrycategory_level": 品类等级, "industrycategory_id_parent": 父级ID } ] }
返回值代码说明
result_coderesult_msg
1成功
0失败
-1系统繁忙,请稍后再试
10000参数错误
10001授权失败,应用ID不存在
103:根据单位所属类目获取某一级品类接口
GET /sp/idcode/industrycategory/parent/id
根据中国消费者数字身份标识服务平台注册用户的类目编码类型获取某一级品类。
参数名类型必填说明
access_tokenString唯一的应用ID
categorytype_idInteger类目编码类型ID
industrycategory_id_parentInteger父级ID(当为0时查询的为所有用途)
timeString当前时间的毫秒数
hashStringHTTP通信加密字符串
输出参数 JSON 格式
{ "result_code": 1, "result_msg": "成功", "data": [ { "id": 品类id, "industrycategory_name": "品类名称", "industrycategory_code": "品类代码", "industrycategory_level": 品类等级, "industrycategory_id_parent": 父级ID } ] }
返回值代码说明
result_coderesult_msg
1成功
0失败
-1系统繁忙,请稍后再试
10000参数错误
10001授权失败,应用ID不存在
104:根据单位主码查询唯一标识节点字典类型
GET /sp/idcode/nodedictionarytype
根据中国消费者数字身份标识服务平台注册用户的单位主码获取所有唯一标识节点字典类型。
参数名类型必填说明
access_tokenString唯一的应用ID
company_idcodeInteger单位主码(可通过接口201获取)
timeString当前时间的毫秒数
hashStringHTTP通信加密字符串
输出参数 JSON 格式
{ "result_code": 1, "result_msg": "成功", "data": [ { "ID": 唯一标识节点字典类型id, "Unit_ID": 单位id, "NodeDictionaryType_Name": "唯一标识节点字典类型名称", "createdate": "添加时间", "updatedate": "修改时间" } ] }
返回值代码说明
result_coderesult_msg
1成功
0失败
-1系统繁忙,请稍后再试
10000参数错误
10001授权失败,应用ID不存在
10003单位信息不存在
105:根据唯一标识节点字典类型获取所有唯一标识字典接口
GET /sp/idcode/nodedictionary
根据中国消费者数字身份标识服务平台注册用户的唯一标识节点字典类型获取所有唯一标识字典品类。
参数名类型必填说明
access_tokenString唯一的应用ID
nodedictionarytype_idInteger唯一标识节点字典类型ID(可通过接口104获取)
timeString当前时间的毫秒数
hashStringHTTP通信加密字符串
输出参数 JSON 格式
{ "result_code": 1, "result_msg": "成功", "data": [ { "ID": 唯一标识节点字典id, "Unit_ID": 单位id, "NodeDictionaryType_ID": 唯一标识节点字典类型id, "NodeDictionary_Name": "唯一标识节点字典名称", "NodeDictionary_Code": "唯一标识节点字典代码", "NodeDictionary_Level": 唯一标识节点字典等级, "Parent_ID": 唯一标识节点字典父级ID, "createdate": "添加时间", "updatedate": "修改时间" } ] }
返回值代码说明
result_coderesult_msg
1成功
0失败
-1系统繁忙,请稍后再试
10000参数错误
10001授权失败,应用ID不存在
106:根据唯一标识节点字典类型获取某一级唯一标识字典接口
GET /sp/idcode/nodedictionary/parent/id
根据中国消费者数字身份标识服务平台注册用户的唯一标识字典类型获取某一级唯一标识字典。
参数名类型必填说明
access_tokenString唯一的应用ID
nodedictionarytype_idInteger唯一标识节点字典类型ID
nodedictionary_id_parentInteger父级ID(一级为0)
timeString当前时间的毫秒数
hashStringHTTP通信加密字符串
输出参数 JSON 格式
{ "result_code": 1, "result_msg": "成功", "data": [ { "ID": 唯一标识节点字典id, "Unit_ID": 单位id, "NodeDictionaryType_ID": 唯一标识节点字典类型id, "NodeDictionary_Name": "唯一标识节点字典名称", "NodeDictionary_Code": "唯一标识节点字典代码", "NodeDictionary_Level": 唯一标识节点字典等级, "Parent_ID": 唯一标识节点字典父级ID, "createdate": "添加时间", "updatedate": "修改时间" } ] }
返回值代码说明
result_coderesult_msg
1成功
0失败
-1系统繁忙,请稍后再试
10000参数错误
10001授权失败,应用ID不存在
107:根据品类 id 获取所有下级品类接口
GET /sp/idcode/industrycategory/parent/all
根据品类 id 获取所有下级品类。
参数名类型必填说明
access_tokenString唯一的应用ID
industrycategory_idInteger品类ID(产品品类id 8842)
timeString当前时间的毫秒数
hashStringHTTP通信加密字符串
输出参数 JSON 格式
{ "result_code": 1, "result_msg": "成功", "data": [ { "id": 品类id, "industrycategory_name": "品类名称", "industrycategory_code": "品类代码", "industrycategory_level": 品类等级, "industrycategory_id_parent": 父级ID } ] }
返回值代码说明
result_coderesult_msg
1成功
0失败
-1系统繁忙,请稍后再试
10000参数错误
10001授权失败,应用ID不存在
五、单位用户相关接口
201:根据用户名和密码获取单位信息接口
POST /sp/idcode/loginverify
根据中国消费者数字身份标识服务平台注册用户的用户名和密码获取单位信息。
参数名类型必填说明
access_tokenString唯一的应用ID
login_nameString用户名
passwordString密码
timeString当前时间的毫秒数
hashStringHTTP通信加密字符串
输出参数 JSON 格式
{ "result_code": 1, "result_msg": "成功", "data": { "unitname": "单位名称", "unitaddress": "单位地址", "idcode": "企业代码单位节点", "categorytype_id": "类目编码类型ID,逗号分隔", "linkman": "联系人", "telephone": "联系电话", "licensepic": "单位证照", "licensenumber": "证照代码", "status": 单位状态, "audit_status": 审核状态, "createtime": "注册时间", "modifytime": "最后一次修改时间", "citycode": "管辖城市编码", "cityname": "管辖城市", "analystatus": 解析地址状态, "verifystatus": 唯一标识码状态, "source": 数据来源, "gotourl": "解析地址", "examinetime": "审核时间", "linkphone": "手机号" } }
返回值代码说明
result_coderesult_msg
1成功
0失败
-1系统繁忙,请稍后再试
10000参数错误
10001授权失败,应用ID不存在
10004用户名错误
10005密码错误
六、品类注册相关接口
301:申请品类接口
POST /sp/idcode/idcodeinfo/reg/product
申请品类。
参数名类型必填说明
access_tokenString唯一的应用ID
company_idcodeString单位主码(可通过接口201获取)
categorytype_idInteger类目编码类型ID
codeuse_codeString用途(可通过接口101获取)
category_codeString品类编码(可通过接口102获取)
model_numberString名称
model_number_codeString编码
gotourlString解析地址
sample_urlString测试地址
timeString当前时间的毫秒数
hashStringHTTP通信加密字符串

1、解析地址格式参见本文档解析地址格式说明

2、测试地址指拍码后跳转的网址

输出参数 JSON 格式
{ "result_code": 1, "result_msg": "成功", "data": { "category_idcode": "品类主码", "category_id": 品类id } }
返回值代码说明
result_coderesult_msg
1成功
0失败
-1系统繁忙,请稍后再试
10000参数错误
10001授权失败,应用ID不存在
10003单位信息不存在
30001解析地址不能为空
30002解析地址格式不正确
30003测试地址不能为空
30004测试地址格式不正确
30005测试地址与解析地址不匹配
50001存在相同的编码
302:修改解析地址
POST /sp/idcode/category/gotourl
修改解析地址。
参数名类型必填说明
access_tokenString唯一的应用ID
company_idcodeString单位主码
category_idcodeString品类主码
gotourlString解析地址
sample_urlString测试地址
timeString当前时间的毫秒数
hashStringHTTP通信加密字符串
输出参数 JSON 格式
{ "result_code": 1, "result_msg": "成功" }
返回值代码说明
result_coderesult_msg
1成功
0失败
-1系统繁忙,请稍后再试
10001授权失败,应用ID不存在
10003单位信息不存在
30001解析地址不能为空
30002解析地址格式不正确
30003测试地址不能为空
30004测试地址格式不正确
30005测试地址与解析地址不匹配
303:查询所有申请的品类
GET /sp/idcode/idcodeinfo/search
查询所有申请的品类,提供 HTTP JSON 数据返回。
参数名类型必填说明
access_tokenString唯一的应用ID
company_idcodeString单位主码
timeString当前时间的毫秒数
hashStringHTTP通信加密字符串
输出参数 JSON 格式
{ "result_code": 1, "result_msg": "成功", "data": [ { "codeuse_code": "用途代码", "category_code": "品类代码", "model_number": "名称", "model_number_code": "编码", "gotourl": "解析地址", "sample_url": "测试地址", "gotourl_status": 解析地址状态, "source": 数据来源, "completecode": "品类主码", "createdate": "申请时间" } ] }
gotourl_status 说明
说明
-1尚未填写解析地址
0待审核
100审核成功
返回值代码说明
result_coderesult_msg
1成功
0失败
-1系统繁忙,请稍后再试
10000参数错误
10001授权失败,应用ID不存在
10003单位信息不存在
七、一物一码二维码接口
4011:上传码接口(方式一:上传 TXT 文件)
POST /sp/idcode/upload/codefile
上传已经生成的码,提供 HTTP JSON 数据返回。
参数名类型必填说明
access_tokenString唯一的应用ID
company_idcodeString单位主码
category_idcodeString品类主码
code_fileFile码文件
timeString当前时间的毫秒数
hashStringHTTP通信加密字符串
输出参数 JSON 格式
{ "result_code": 1, "result_msg": "成功", "data": { "uploadcode_id": 上传记录ID } }
返回值代码说明
result_coderesult_msg
1成功
0失败
-1系统繁忙,请稍后再试
10001授权失败,应用ID不存在
10003单位信息不存在
40002上传文件格式错误
40003文件损坏
59999文件内容错误
4012:上传码接口(方式二:前缀 + 起始号、终止号、数值长度)
POST /sp/idcode/upload/fixedlength
上传已经生成的码,数值位数不够规定长度时高位补零。
参数名类型必填说明
access_tokenString唯一的应用ID
company_idcodeString单位主码
category_idcodeString品类主码
nodedictionary_idInteger唯一标识节点字典id
prefix_strString前缀(数字或字母或.或-,50个字以内)
start_numInteger流水号起始号
end_numInteger流水号终止号
lengthInteger流水号数值长度
timeString当前时间的毫秒数
hashStringHTTP通信加密字符串
说明

nodedictionary_id 参数适用于一物一码规则定义由发码平台维护的情况。此值传空或传错,均视为无效,即一物一码规则为前缀+流水号。

输出参数 JSON 格式
{ "result_code": 1, "result_msg": "成功", "data": { "uploadcode_id": 上传记录ID } }
返回值代码说明
result_coderesult_msg
1成功
0失败
-1系统繁忙,请稍后再试
10000参数错误
10001授权失败,应用ID不存在
10003单位信息不存在
402:查询上传码记录接口
GET /sp/idcode/upload/coderecord
根据品类获取上传的二维码,返回多条。
参数名类型必填说明
access_tokenString唯一的应用ID
company_idcodeString单位主码
category_idcodeString品类主码
timeString当前时间的毫秒数
hashStringHTTP通信加密字符串
输出参数 JSON 格式
{ "result_code": 1, "result_msg": "成功", "data": [ { "uploadcode_id": 上传记录ID, "prefix_str": "前缀", "start_num": 起始号, "end_num": 终止号, "length": 数值长度, "codenum": 上传数量, "source": 数据来源, "createdate": "上传时间" } ] }
source 说明
说明
0官网生成
2接口上传
返回值代码说明
result_coderesult_msg
1成功
0失败
-1系统繁忙,请稍后再试
10001授权失败,应用ID不存在
10003单位信息不存在
403:根据上传记录 ID 查询详情接口
GET /sp/idcode/upload/codeinfo
通过上传码批次 ID 获取 IDcode 上传码记录列表。
参数名类型必填说明
access_tokenString唯一的应用ID
company_idcodeString单位主码
uploadcode_idInteger上传记录ID
timeString当前时间的毫秒数
hashStringHTTP通信加密字符串
输出参数 JSON 格式
{ "result_code": 1, "result_msg": "成功", "data": { "uploadcode_id": 上传记录ID, "prefix_str": "前缀", "start_num": 起始号, "end_num": 终止号, "length": 数值长度, "codenum": 上传数量, "source": 数据来源, "createdate": "上传时间" } }
返回值代码说明
result_coderesult_msg
1成功
0失败
-1系统繁忙,请稍后再试
10000参数错误
10001授权失败,应用ID不存在
10003单位信息不存在
404:根据上传记录 ID 获取 IDcode 码
GET /sp/idcode/uploadcode/json
根据上传批次 ID 获取 IDcode 码。
参数名类型必填说明
access_tokenString唯一的应用ID
company_idcodeString单位主码
uploadcode_idInteger上传码ID
timeString当前时间的毫秒数
hashStringHTTP通信加密字符串
输出参数 JSON 格式
{ "result_code": 1, "result_msg": "成功", "data": [ "http://s.idcode.org.cn?c=XXXXXX" ] }
返回值代码说明
result_coderesult_msg
1成功
0失败
-1系统繁忙,请稍后再试
10001授权失败,应用ID不存在
10003单位信息不存在
八、其他接口
501:查询审核状态接口
GET /sp/idcode/examinerecord
查询解析地址审核的当前状态。
参数名类型必填说明
access_tokenString唯一的应用ID
company_idcodeString单位主码
category_idcodeString品类主码
typeInteger审核类型(固定值:2,表示解析地址审核)
timeString当前时间的毫秒数
hashStringHTTP通信加密字符串
输出参数 JSON 格式
{ "result_code": 1, "result_msg": "成功", "data": { "examine_content": "解析地址", "examine_status": 审核状态, "examine_remarks": "审核原因" } }
examine_status 说明
说明
-1审核不通过
0待审核
100审核通过
其他审核中
返回值代码说明
result_coderesult_msg
1成功
0失败
-1系统繁忙,请稍后再试
10000参数错误
10001授权失败,应用ID不存在
10003单位信息不存在
九、解析地址格式说明

举例说明一

假如您所填写的解析地址为:http://www.xxxx.com/xxxx.aspx?id=1,则拍码后跳转的网址为:

http://www.xxxx.com/xxxx.aspx?id=1&code=MA.156.SE1001.01/91.12000000.1/xxxx

举例说明二

假如您所填写的解析地址为:http://www.xxxx.com/xxxx.aspx?id=,则拍码后跳转的网址为:

http://www.xxxx.com/xxxx.aspx?id=MA.156.SE1001.01/91.12000000.1/xxxx

举例说明三

假如您所填写的解析地址为:http://www.xxxx.com/xxxx.aspx,则拍码后跳转的网址为:

http://www.xxxx.com/xxxx.aspx?code=MA.156.SE1001.01/91.12000000.1/xxxx

码号接收说明

  • 1. codeBaseCode 为参数名,MA.156.SE1001.01/91.12000000.1/xxxx 为码号。
  • 2. 通过 http://www.xxxx.com/xxxx.aspx 页面中的函数接收码号。
  • 3. 接收方式可以为 Request["code"] 或者返回类型 函数名(参数类型1 参数名1,……,参数类型n 参数名n,string code)。
  • 4. 此处以 Asp.net 举例,接收页面还可以是 jsp、php 等,接收方式类似。
十、注意事项

参数值中存在中文、特殊字符、网址时的处理

1. UrlEncode 编码

如果参数值有中文、特殊字符、网址的应该将其进行 UrlEncode 编码。

例如:参数 organunitname=单位名称,应先将 单位名称 进行 UrlEncode 编码;

参数 gotourl=http://www.idcode.org.cn,应先将 http://www.idcode.org.cn 进行 UrlEncode 编码。

2. 特殊情况:网址中有参数

如果参数值是网址,并且此网址中有参数的,应先将网址中的参数进行上一条操作,然后再将整个网址进行 UrlEncode 编码。

例如:参数 gotourl=http://www.idcode.org.cn/m?organunitname=单位名称

这个参数的值是网址且网址中还有参数,应先将网址中的参数 organunitname 的值 单位名称 进行 UrlEncode 编码,然后再将整个网址进行 UrlEncode 编码。