1. 爱企查企业详情接口对接实战指南
企业信息查询是商业决策中的重要环节,爱企查作为国内权威的企业信息平台,其item_get接口为开发者提供了高效获取企业详情的通道。这个接口特别适合需要批量查询企业信息的场景,比如金融风控、商业合作背调、市场分析等。
提示:在开始对接前,建议先注册爱企查开发者账号并仔细阅读官方API文档,了解基础权限和调用限制。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 接口核心参数解析
2.1 认证机制详解
爱企查采用双重认证机制确保接口安全:
- API Key:开发者身份标识,需要在请求头中携带
- Token:动态访问凭证,通过API Key换取,有效期为2小时
获取Token的典型请求示例:
bash复制curl -X POST \
https://api.aiqicha.com/auth/token \
-H 'Content-Type: application/json' \
-d '{
"api_key": "your_api_key_here"
}'
2.2 请求参数说明
item_get接口主要参数包括:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| company_id | string | 是 | 企业统一社会信用代码 |
| fields | string | 否 | 需要返回的字段,多个用逗号分隔 |
| version | string | 否 | API版本号,默认为v1 |
3. HTTPS安全通信配置
3.1 证书验证
为确保通信安全,客户端需要正确处理HTTPS证书:
java复制// Java示例:忽略证书验证(仅测试环境使用)
SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(null, new TrustManager[]{new X509TrustManager() {
public void checkClientTrusted(X509Certificate[] chain, String authType) {}
public void checkServerTrusted(X509Certificate[] chain, String authType) {}
public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[0]; }
}}, new SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory());
3.2 请求签名机制
每个请求都需要包含签名参数sign,生成算法:
- 将所有参数按key排序后拼接成字符串
- 拼接当前时间戳(精确到秒)
- 使用SHA256算法计算签名
4. 完整对接流程
4.1 开发环境准备
推荐使用Postman进行接口测试,配置示例:
- 新建Collection,添加环境变量:
- base_url: https://api.aiqicha.com
- api_key: 您的实际key
- 添加Pre-request Script自动获取Token
4.2 企业详情获取实现
Python完整示例代码:
python复制import requests
import hashlib
import time
class AiqichaClient:
def __init__(self, api_key):
self.api_key = api_key
self.token = None
self.token_expire = 0
def get_token(self):
if time.time() < self.token_expire:
return self.token
resp = requests.post(
"https://api.aiqicha.com/auth/token",
json={"api_key": self.api_key}
)
data = resp.json()
self.token = data["token"]
self.token_expire = time.time() + 7200 # 2小时有效期
return self.token
def get_company(self, company_id, fields=None):
token = self.get_token()
params = {"company_id": company_id}
if fields:
params["fields"] = fields
# 生成签名
timestamp = str(int(time.time()))
sign_str = f"company_id={company_id}×tamp={timestamp}"
if fields:
sign_str += f"&fields={fields}"
sign = hashlib.sha256(sign_str.encode()).hexdigest()
headers = {
"Authorization": f"Bearer {token}",
"X-Sign": sign,
"X-Timestamp": timestamp
}
return requests.get(
"https://api.aiqicha.com/v1/item_get",
params=params,
headers=headers
)
5. 常见问题排查
5.1 Token相关错误
- 403 Forbidden:检查API Key是否正确,账户是否欠费
- Token过期:实现自动刷新逻辑,建议在过期前30分钟刷新
- 频率限制:默认每秒5次调用,超出会返回429状态码
5.2 数据返回异常
- 字段缺失:确认fields参数是否包含所需字段
- 数据为空:检查企业ID是否正确,部分新注册企业可能有数据延迟
- 解析错误:注意返回的JSON结构,使用try-catch处理异常
6. 性能优化建议
- 缓存策略:对企业基础信息实施本地缓存,设置合理过期时间
- 批量请求:如需查询多个企业,考虑使用批量接口减少请求次数
- 连接池:保持HTTP连接复用,降低握手开销
- 异步处理:对实时性要求不高的场景可采用队列异步处理
实际项目中,我们发现在金融风控场景下,通过合理的缓存设计可以将接口调用量降低60%以上。一个实用的技巧是将企业基本信息缓存24小时,而将变更频繁的司法信息缓存时间缩短至1小时。
