淘宝开放API获取订单信息教程(2025年最新版)

一、前置准备

  1. 注册与认证
    • 访问淘宝开放平台,使用淘宝账号登录并完成企业实名认证(个人账号需升级为企业账号)。
    • 创建应用:进入【管理中心】→【应用管理】→【创建应用】,填写应用名称、描述、回调地址(需HTTPS且ICP备案),选择应用类型(如Web应用)。
  2. 获取密钥
    • 应用审核通过后,在【应用详情】获取App KeyApp Secret(密钥需妥善保管,用于API签名)。
二、权限申请
  1. 申请API权限
    • 在【权限管理】页面申请以下核心权限:
      • taobao.trades.sold.get:批量获取已卖出交易数据(支持时间范围、状态筛选)。
      • taobao.trade.fullinfo.get:获取单笔交易详情(含订单金额、收货信息等)。
      • taobao.trades.sold.increment.get:增量同步变更订单(适合实时同步场景)。
    • 提交申请后,淘宝将审核业务场景(如电商ERP、数据分析),通常1-3个工作日完成。
三、获取Access Token
  1. OAuth2.0授权流程
    • 构造授权URL引导用户授权(非自己店铺需用户授权):

      复制代码
      复制代码
      `https://oauth.taobao.com/authorize?response_type=code&client_id=你的AppKey&redirect_uri=回调地址&state=安全令牌`
    • 用户同意后,获取code参数,通过以下代码换取access_token

      复制代码

      python

      复制代码
      `import requests
      def get_access_token(app_key, app_secret, code, redirect_uri):
          url = "https://oauth.taobao.com/token"
          payload = {
              'grant_type': 'authorization_code',
              'code': code,
              'client_id': app_key,
              'client_secret': app_secret,
              'redirect_uri': redirect_uri
          }
          response = requests.post(url, data=payload)
          return response.json()  # 返回包含access_token的JSON`
四、调用API获取订单
  1. 接口调用示例(Python)

    • 使用taobao.trades.sold.get获取订单列表:

      复制代码

      python

      复制代码
      `import time
      import requests
      from hashlib import md5
      def generate_sign(params, secret):
          sorted_params = sorted(params.items())
          query_string = ''.join(f"{k}{v}" for k, v in sorted_params)
          sign_str = f"{secret}{query_string}{secret}"
          return md5(sign_str.encode()).hexdigest().upper()
      def get_orders(app_key, app_secret, session_key):
          url = "https://eco.taobao.com/router/rest"
          timestamp = time.strftime("%Y-%m-%d %H:%M:%S")
          params = {
              'method': 'taobao.trades.sold.get',
              'app_key': app_key,
              'session': session_key,
              'timestamp': timestamp,
              'format': 'json',
              'v': '2.0',
              'sign_method': 'md5',
              'fields': 'tid,status,payment,created,receiver_name,receiver_address',
              'start_created': '2025-01-01 00:00:00',
              'end_created': '2025-12-31 23:59:59',
              'page_no': 1,
              'page_size': 50
          }
          params['sign'] = generate_sign(params, app_secret)
          response = requests.get(url, params=params)
          return response.json()`
  2. 关键参数说明

    • fields:指定返回字段(如订单号tid、状态status、金额payment、收货信息等)。
    • start_created/end_created:订单创建时间范围(精确到秒)。
    • page_no/page_size:分页参数(单页最大50条)。
五、数据处理与注意事项
  1. 响应解析
    • 成功响应示例:

      复制代码

      json

      复制代码
      `{
          "taobao_trades_sold_get_response": {
              "trades": {
                  "trade": [
                      {
                          "tid": "123456789",
                          "status": "TRADE_CLOSED",
                          "payment": "199.00",
                          "created": "2025-01-01 12:00:00",
                          "receiver_name": "张三",
                          "receiver_address": "浙江省杭州市余杭区..."
                      }
                  ]
              }
          }
      }`
    • 错误处理:检查codemsg字段(如isp.no-permission表示权限不足,invalid-signature表示签名错误)。

  2. 安全与合规
    • 频率限制 :免费版QPS≤5,商用需购买API套餐(如10万次/月起),超限返回isp.no-permission
    • 数据脱敏 :买家手机号、地址等敏感信息默认脱敏(如138****8888)。
    • 合规要求:遵守《个人信息保护法》,禁止未授权数据抓取或滥用。
六、高级场景
  1. 增量同步
    • 使用taobao.trades.sold.increment.get获取变更订单(如状态更新、退款),参数type支持create(新增)、update(修改)等。
  2. 批量操作
    • 使用taobao.topats.trades.sold.get异步获取大批量订单(支持百万级数据),需配合任务ID查询结果。
七、常见问题
  • 签名错误:检查参数排序(ASCII升序)、加密方式(MD5/HMAC-SHA256)及密钥正确性。
  • 回调地址无效:确保域名已ICP备案,使用HTTPS协议,无特殊字符。
  • 权限申请被拒:补充详细业务场景说明,提供公司资质证明,联系客服复审。

官方文档参考:淘宝开放API文档

建议定期关注API更新日志,适配新版本接口(如v3.0),并通过沙箱环境验证功能后再上线生产环境。

相关推荐
Coder_Boy_1 天前
Deeplearning4j+ Spring Boot 电商用户复购预测案例中相关概念
java·人工智能·spring boot·后端·spring
css趣多多1 天前
add组件增删改的表单处理
java·服务器·前端
芷栀夏1 天前
CANN ops-math:揭秘异构计算架构下数学算子的低延迟高吞吐优化逻辑
人工智能·深度学习·神经网络·cann
雨中飘荡的记忆1 天前
Spring Batch实战
java·spring
L543414461 天前
告别代码堆砌匠厂架构让你的系统吞吐量翻倍提升
大数据·人工智能·架构·自动化·rpa
孤狼warrior1 天前
YOLO目标检测 一千字解析yolo最初的摸样 模型下载,数据集构建及模型训练代码
人工智能·python·深度学习·算法·yolo·目标检测·目标跟踪
凯子坚持 c1 天前
构建企业级 AI 工厂:基于 CANN `cann-mlops-suite` 的端到端 MLOps 实战
人工智能
Elwin Wong1 天前
浅析OpenClaw:从“贾维斯”梦想看下一代 AI 操作系统的架构演进
人工智能·agent·clawdbot·moltbot·openclaw
Rorsion1 天前
PyTorch实现线性回归
人工智能·pytorch·线性回归
AI资源库1 天前
OpenClaw:159K Star的开源AI助手正在重新定义“个人AI“的边界
人工智能·语言模型