一、准备工作

  1. 注册快递鸟账号并完成企业认证
  2. 登录控制台获取API ID和API Key
  3. 下载最新版API文档(建议选择JSON格式版本)
二、接口调用流程
  1. 构造请求数据
request_data = {
    "RequestType": "1002",  # 接口指令代码
    "EBusinessID": "test123456",  # API ID
    "RequestData": "加密后的业务数据", 
    "DataSign": "数据签名",
    "DataType": "2"  # 数据格式(2-JSON)
}

  1. 数据加密流程
  • 将原始业务数据JSON字符串进行URL编码
  • 使用MD5算法生成签名: $$sign = \text{md5}( \text{原始数据} + \text{API_KEY} )$$
  • Base64编码处理签名结果
  1. 请求参数规范 | 参数名 | 类型 | 是否必填 | |--------|------|----------| | 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'])

四、注意事项
  1. 时间同步:确保服务器时间与快递鸟API服务器时间误差不超过10分钟
  2. 编码规范:所有请求数据必须使用UTF-8编码
  3. 频率限制:免费版默认QPS=1,超过限制会返回104错误码
  4. 错误处理:建议实现自动重试机制(推荐3次重试)
五、常见响应码
状态码 说明 处理建议
100 接口繁忙 稍后重试
101 验证失败 检查API ID/Key
103 IP未授权 联系客服绑定IP
104 请求超频 降低调用频率
200 成功 正常处理数据

建议首次接入时使用测试环境参数:

api_id = "test123456"
api_key = "554343b2-efd5-4f04"

Logo

电商企业物流数字化转型必备!快递鸟 API 接口,72 小时快速完成物流系统集成。全流程实战1V1指导,营造开放的API技术生态圈。

更多推荐