快递鸟API使用指南
【代码】快递鸟API使用指南。
·
一、准备工作
- 注册快递鸟账号并完成企业认证
- 登录控制台获取API ID和API Key
- 下载最新版API文档(建议选择JSON格式版本)
二、接口调用流程
- 构造请求数据
request_data = {
"RequestType": "1002", # 接口指令代码
"EBusinessID": "test123456", # API ID
"RequestData": "加密后的业务数据",
"DataSign": "数据签名",
"DataType": "2" # 数据格式(2-JSON)
}
- 数据加密流程
- 将原始业务数据JSON字符串进行URL编码
- 使用MD5算法生成签名: $$sign = \text{md5}( \text{原始数据} + \text{API_KEY} )$$
- Base64编码处理签名结果
- 请求参数规范 | 参数名 | 类型 | 是否必填 | |--------|------|----------| | EBusinessID | String | 是 | | RequestType | String | 是 | | DataSign | String | 是 | | RequestData | String | 是 | | DataType | String | 是 |
三、Python调用示例
import hashlib
import base64
import requests
import json
def generate_sign(data, api_key):
content = data + api_key
return base64.b64encode(hashlib.md5(content.encode()).digest()).decode()
api_url = "https://api.kdniao.com/Ebusiness/EbusinessOrderHandle.aspx"
api_id = "your_id"
api_key = "your_key"
# 构造业务数据
business_data = {
"OrderCode": "SF202308150001",
"ShipperCode": "SF",
"LogisticCode": "SF123456789"
}
# 生成签名
raw_data = json.dumps(business_data, separators=(',', ':'))
signature = generate_sign(raw_data, api_key)
# 发送请求
payload = {
"EBusinessID": api_id,
"RequestType": "1002",
"RequestData": raw_data,
"DataSign": signature,
"DataType": "2"
}
response = requests.post(api_url, data=payload)
result = response.json()
# 处理响应
if result['Success']:
print("物流信息:", result['Traces'])
else:
print("查询失败:", result['Reason'])
四、注意事项
- 时间同步:确保服务器时间与快递鸟API服务器时间误差不超过10分钟
- 编码规范:所有请求数据必须使用UTF-8编码
- 频率限制:免费版默认QPS=1,超过限制会返回
104错误码 - 错误处理:建议实现自动重试机制(推荐3次重试)
五、常见响应码
| 状态码 | 说明 | 处理建议 |
|---|---|---|
| 100 | 接口繁忙 | 稍后重试 |
| 101 | 验证失败 | 检查API ID/Key |
| 103 | IP未授权 | 联系客服绑定IP |
| 104 | 请求超频 | 降低调用频率 |
| 200 | 成功 | 正常处理数据 |
建议首次接入时使用测试环境参数:
api_id = "test123456"
api_key = "554343b2-efd5-4f04"
更多推荐


所有评论(0)