四大电商平台 API 接口接入指南(淘宝 + 京东 + 亚马逊 + 速卖通)
本文详细介绍了四大电商平台(淘宝、京东、亚马逊、速卖通)API接入流程与技术要点,包括注册认证、密钥获取、签名机制和调用示例。淘宝采用MD5/HMAC-SHA256签名,京东使用HMAC-SHA256/MD5,亚马逊需LWA+IAM双认证,速卖通为HMAC-SHA1。各平台均提供核心商品、订单、物流接口,但存在调用限制(如淘宝QPS=10,京东QPS=5)。文章特别强调签名规范、权限管理、错误处理
·
一、淘宝开放平台 API 接入
1. 接入准备(必备步骤)
| 步骤 | 操作内容 | 注意事项 |
|---|---|---|
| 注册账号 | 访问淘宝开放平台,完成企业 / 个人认证 | 企业账号权限更全,个人账号部分接口受限 |
| 创建应用 | 控制台→应用管理→创建应用,选择 "自用型"/"他用型" | 应用名称避免敏感词,描述清晰业务场景 |
| 获取密钥 | 审核通过后获取AppKey和AppSecret(核心凭证) | 严格保密,泄露会导致安全风险 |
| 申请权限 | 选择所需接口(如商品、订单、物流)提交审核 | 每个接口需单独申请,说明用途 |
2. 认证与调用流程
- 签名机制:MD5/HMAC-SHA256,按参数名 ASCII 排序后加密
- 核心参数:app_key、method、timestamp、sign、业务参数
- Python 调用示例(商品详情接口 taobao.item.get):
python
运行
import requests
import hashlib
import time
def taobao_api_call(app_key, app_secret, num_iid):
params = {
"app_key": app_key,
"method": "taobao.item.get",
"timestamp": time.strftime("%Y-%m-%d %H:%M:%S"),
"format": "json",
"v": "2.0",
"num_iid": num_iid,
"fields": "num_iid,title,price,pics,desc"
}
# 生成签名
sorted_params = sorted(params.items(), key=lambda x: x[0])
sign_str = app_secret + ''.join([f"{k}{v}" for k, v in sorted_params]) + app_secret
params["sign"] = hashlib.md5(sign_str.encode()).hexdigest().upper()
response = requests.get("http://gw.api.taobao.com/router/rest", params=params)
return response.json()
# 使用示例
result = taobao_api_call("your_app_key", "your_app_secret", "123456789")
print(result)
3. 核心接口推荐
- 商品:taobao.item.get(详情)、taobao.items.onsale.get(在售)
- 订单:taobao.trade.fullinfo.get(详情)、taobao.trades.sold.get(已售)
- 物流:taobao.logistics.online.send(发货)
二、京东开放平台 API 接入
1. 接入准备
| 步骤 | 操作内容 | 关键信息 |
|---|---|---|
| 注册入驻 | 访问京东开放平台,完成企业认证 | 仅支持企业账号申请 API 权限 |
| 创建应用 | 开发者中心→应用管理→创建应用 | 选择应用类型(如 "电商服务") |
| 获取密钥 | 自动生成AppKey和AppSecret | 可设置 IP 白名单增强安全性 |
| 授权流程 | OAuth2.0,获取 access_token(有效期 24 小时) | 需用户授权确认 |
2. 签名与调用示例
- 签名规则:参数 ASCII 排序→拼接→HMAC-SHA256/MD5 加密
- Python 调用示例(商品详情接口 jingdong.item.get):
python
运行
import requests
import hmac
import hashlib
import time
def jd_api_call(app_key, app_secret, sku_id):
params = {
"app_key": app_key,
"method": "jingdong.item.get",
"timestamp": time.strftime("%Y-%m-%d %H:%M:%S"),
"format": "json",
"v": "1.0",
"sku_id": sku_id,
"sign_method": "hmac-sha256"
}
# 生成签名
sorted_params = sorted(params.items(), key=lambda x: x[0])
sign_str = '&'.join([f"{k}={v}" for k, v in sorted_params])
signature = hmac.new(app_secret.encode(), sign_str.encode(), hashlib.sha256).hexdigest()
params["sign"] = signature
response = requests.get("https://api.jd.com/routerjson", params=params)
return response.json()
# 使用示例
result = jd_api_call("your_app_key", "your_app_secret", "123456")
print(result)
3. 核心接口推荐
- 商品:jingdong.item.get(详情)、jingdong.item.search(搜索)
- 订单:jingdong.pop.order.get(详情)、jingdong.pop.order.list.get(列表)
- 库存:jingdong.sku.stock.get(查询)
三、亚马逊 SP-API 接入(新版推荐)
1. 接入准备(SP-API 为 MWS 升级版)
| 步骤 | 操作内容 | 重要提示 |
|---|---|---|
| 注册开发者 | 访问亚马逊开发者账号 | 需关联卖家账号 |
| 创建应用 | 选择 Selling Partner API,填写应用信息 | 获取Client ID和Client Secret |
| IAM 配置 | 创建 IAM 用户,生成Access Key和Secret Key | 需附加 SP-API 权限策略 |
| 授权流程 | OAuth2.0 或自授权,获取Refresh Token | 私用应用可自我授权 |
2. 认证与调用流程
- 双认证机制:LWA 令牌(短期)+ IAM 凭证(长期)
- Python 调用示例(订单查询接口):
python
运行
import requests
import jwt
import time
from datetime import datetime, timedelta
def get_lwa_token(client_id, client_secret, refresh_token):
url = "https://api.amazon.com/auth/o2/token"
payload = {
"grant_type": "refresh_token",
"refresh_token": refresh_token,
"client_id": client_id,
"client_secret": client_secret
}
response = requests.post(url, data=payload)
return response.json()["access_token"]
def amazon_sp_api_call(access_token, seller_id, marketplace_ids):
url = f"https://sellingpartnerapi-na.amazon.com/orders/v0/orders"
headers = {
"x-amz-access-token": access_token,
"x-amz-date": datetime.utcnow().strftime("%Y%m%dT%H%M%SZ"),
"Authorization": f"Bearer {access_token}"
}
params = {
"MarketplaceIds": marketplace_ids,
"CreatedAfter": (datetime.utcnow()-timedelta(days=7)).isoformat() + "Z"
}
response = requests.get(url, headers=headers, params=params)
return response.json()
# 使用示例
access_token = get_lwa_token("your_client_id", "your_client_secret", "your_refresh_token")
result = amazon_sp_api_call(access_token, "your_seller_id", ["ATVPDKIKX0DER"])
print(result)
3. 核心接口分类
- 订单 API:查询、更新、确认订单
- 商品 API:目录、定价、库存管理
- 物流 API:配送、追踪、退货处理
四、速卖通开放平台 API 接入
1. 接入准备
| 步骤 | 操作内容 | 权限说明 |
|---|---|---|
| 注册账号 | 访问速卖通开放平台openservice.aliexpress.com | 企业账号需营业执照,个人账号权限有限 |
| 创建应用 | 应用管理→创建应用,选择应用类型openservice.aliexpress.com | 获取AppKey和AppSecret |
| 授权获取 | 通过 OAuth2.0 获取SessionKey(有效期 1 年) | 需卖家账号授权确认 |
| 申请权限 | 选择所需接口提交审核openservice.aliexpress.com | 商品详情等核心接口需企业资质 |
2. 签名与调用示例
- 签名机制:HMAC-SHA1,参数排序后加密
- Python 调用示例(商品详情接口):
python
运行
import requests
import hmac
import hashlib
import time
def aliexpress_api_call(app_key, app_secret, session_key, product_id):
params = {
"app_key": app_key,
"method": "aliexpress.product.redefining.getproductdetail",
"timestamp": str(int(time.time()*1000)),
"format": "json",
"v": "1.0",
"session": session_key,
"product_id": product_id,
"sign_method": "hmac-sha1"
}
# 生成签名
sorted_params = sorted(params.items(), key=lambda x: x[0])
sign_str = '&'.join([f"{k}={v}" for k, v in sorted_params])
signature = hmac.new(app_secret.encode(), sign_str.encode(), hashlib.sha1).hexdigest()
params["sign"] = signature
response = requests.get("https://api.aliexpress.com/rest", params=params)
return response.json()
# 使用示例
result = aliexpress_api_call("your_app_key", "your_app_secret", "your_session_key", "123456789")
print(result)
3. 核心接口推荐
- 商品:getproductdetail(详情)、productsearch(搜索)
- 订单:order_get(详情)、order_list(列表)
- 物流:logistics_tracking(追踪)
五、四大平台接入对比与避坑指南
| 平台 | 认证方式 | 签名算法 | 调用限制 | 核心注意事项 |
|---|---|---|---|---|
| 淘宝 | AppKey + 签名 + 授权 | MD5/HMAC-SHA256 | QPS=10,日限 10 万次 | 接口需单独申请,审核严格 |
| 京东 | AppKey + 签名 + OAuth2.0 | HMAC-SHA256/MD5 | QPS=5,日限 5 万次 | 仅企业账号可申请,IP 白名单必设 |
| 亚马逊 | LWA+IAM 双认证 | JWT+OAuth2.0 | 按区域限制 | 需配置 MarketplaceIds,时区统一用 UTC |
| 速卖通 | AppKey + 签名 + SessionKey | HMAC-SHA1 | QPS=5,日限 1 万次 | 个人账号权限有限,企业认证更优 |
通用避坑要点
- 签名规范:严格按参数 ASCII 排序,加密前避免空格 / 编码错误
- 权限管理:最小权限原则,定期轮换密钥,设置 IP 白名单
- 错误处理:捕获 4xx/5xx 状态码,实现自动重试机制(指数退避)
- 数据合规:用户数据需授权,禁止爬虫行为,遵守平台 API 协议
- 版本兼容:关注平台 API 版本更新,及时迁移至新版接口(如亚马逊 SP-API 替代 MWS)
六、快速接入建议
- 优先选择官方 SDK:各平台提供 Python/Java/PHP 等 SDK,简化签名与请求处理
- 环境隔离:开发 / 测试 / 生产环境分开配置,使用不同应用密钥
- 监控告警:建立 API 调用监控,实时跟踪成功率、响应时间和限流情况
- 批量处理:对批量接口(如商品列表、订单批量查询)优化参数,减少请求次数
更多推荐

所有评论(0)