一、核心接入流程
1. 账号注册与密钥获取
1. 访问[企查查开放平台官网](https://openapi.qcc.com/)完成企业实名认证
2. 在控制台「接口管理」模块选择所需服务套餐
3. 获取`AppKey`和`SecretKey`凭证对
技术准备:
新注册用户可获取测试用`Token`,有效期内支持20次免费调用,建议用于环境验证
2. 接口鉴权机制
动态签名生成原理
import hashlib
import time
def generate_token(app_key, secret_key):
timestamp = str(int(time.time()))
raw_str = f"{app_key}{timestamp}{secret_key}"
return hashlib.md5(raw_str.encode()).hexdigest().upper()
请求头需包含:
- `Token`:MD5加密字符串(AppKey+Timestamp+SecretKey)
- `Timespan`:精确到秒的时间戳
3. 基础接口调用
企业模糊查询示例(Node.js)
const axios = require('axios');
const crypto = require('crypto');
async function queryEnterprise(name) {
const timestamp = Math.floor(Date.now()/1000);
const token = crypto.createHash('md5')
.update(`${appKey}${timestamp}${secretKey}`)
.digest('hex')
.toUpperCase();
return axios.get('https://api.qichacha.com/FuzzySearch/GetList', {
params: { key: appKey, searchKey: name },
headers: { Token: token, Timespan: timestamp }
});
}
参数说明:
`searchKey`支持企业名称/注册号/统一代码等多维度检索
二、数据解析与存储
1. 响应数据结构
{
"Result": [{
"KeyNo": "企业唯一标识",
"Name": "企业名称",
"OperName": "法人代表",
"Status": "经营状态",
"CreditCode": "统一信用代码"
}],
"Status": "200",
"Message": "Success"
}
关键字段:
- `KeyNo`用于后续详细信息查询
- `Status`包含存续/注销/吊销等状态标识
2. 异常处理机制
重试策略(Java Spring框架)
@Retryable(value = {ConnectException.class},
maxAttempts = 3,
backoff = @Backoff(delay = 2000))
public EnterpriseDetail getDetail(String keyNo) {
// 调用企业详情接口
}
错误码体系:
- 101:鉴权失败
- 201:参数缺失
- 301:套餐额度不足
三、进阶接入方案
1. 批量处理优化
- 使用`EnterpriseBatch`接口支持单次千条查询
- 采用分布式任务分片技术提升吞吐效率
2. 数据保鲜策略
数据类型 | 更新建议 |
---|---|
工商信息 | 每日全量校验 |
司法记录 | 监听变更推送 |
知识产权 | 按季度增量同步 |
技术实现:
通过`DataVersion`字段识别数据版本,结合时间戳进行差异比对
四、安全合规要求
1. 数据使用规范
- 敏感字段需进行脱敏处理(如身份证号掩码显示)
- 查询结果缓存周期不得超过24小时
2. 密钥管理方案
最佳实践:
- 使用AWS KMS或阿里云KMS进行密钥托管
- 每小时自动刷新临时访问凭证
五、技术演进方向
企查查最新发布的**EDIHub数据智能中枢**已支持:
1. 区块链存证服务(司法数据可信溯源)
2. 向量化引擎(自然语言语义查询)
3. 行业知识图谱自动构建
> 接入建议:优先对接「企业关联图谱」和「风险预警」接口,这两个模块提供股权穿透分析和动态风险评分功能,适用于金融风控、供应链管理等场景