作者:鲨鱼 | 时间:2025年7月17日
原创文章,首发于CSDN,如需转载,请注明出处。


一、前言

你是不是每天还在手动导出Excel订单、一个个复制收货人信息?如果你是淘宝或天猫商家,并且有技术团队,但不知道如何通过API自动同步订单数据,那这篇文章就是为你写的。

我们将手把手教你:

  • 如何调用淘宝/天猫订单API
  • 如何获取订单列表
  • 返回的数据结构详解
  • Python代码示例:拉取 + 解析 + 写入本地数据库

二、调用订单API的基本流程

要实现订单同步,核心流程如下:

  1. 获取 access_token(授权令牌)
  2. 调用订单接口(如 taobao.trade.fullinfo.gettaobao.trades.onsale.get
  3. 解析返回的JSON数据
  4. 将订单写入本地系统或ERP

三、常用订单API接口推荐

接口名称 接口说明 推荐用途
taobao.trade.fullinfo.get 获取单个订单详情 精确查询某个订单
taobao.trades.onsale.get 获取已卖出的交易列表(仅包含订单号、状态等基础信息) 批量拉取订单列表
taobao.trade.get 获取单个订单详情(含商品信息) 获取完整订单数据
taobao.trades.sold.get 获取已卖出的交易列表(含商品信息) 批量订单同步

建议使用 taobao.trades.sold.get + taobao.trade.fullinfo.get 的组合方式,先批量拉取订单列表,再根据订单号拉取详细信息。


四、订单数据结构说明(关键字段解析)

以下是从 taobao.trade.fullinfo.get 接口返回的核心字段说明(来自你上传的《淘宝订单数据结构说明.txt》整理):

字段名 示例值 说明
tid 12345678901234 订单ID(主键)
status WAIT_SELLER_SEND_GOODS 订单状态:
WAIT_BUYER_PAY(待付款)
WAIT_SELLER_SEND_GOODS(待发货)
WAIT_BUYER_CONFIRM_GOODS(已发货)
TRADE_FINISHED(交易成功)
payment 99.00 实付金额(含运费)
buyer_nick 小明同学 买家昵称
buyer_open_uid 1234567890123456789 买家唯一标识
created 2025-07-10 14:20:00 创建时间
pay_time 2025-07-10 14:25:00 付款时间
receiver_name 张三 收货人姓名
receiver_mobile 13800001111 收货人手机号
receiver_state 浙江省 省份
receiver_city 杭州市 城市
receiver_district 西湖区
receiver_address 文三路123号 详细地址
buyer_message 请下午送到,不要放快递柜 买家留言
type fixed(一口价) 交易类型
orders 数组 商品详情列表,包含:
num_iid(商品ID)
title(商品名称)
price(单价)
num(购买数量)
sku_id(SKU编号)

五、实战代码:Python调用API并解析订单数据

✅ 安装依赖

pip install requests

✅ 获取订单列表(示例)

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 = secret + query_string + secret
    return md5(sign_str.encode()).hexdigest().upper()

def get_trades_sold_list(app_key, app_secret, session_key):
    url = "https://eco.taobao.com/router/rest"

    timestamp = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
    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,pay_time,receiver_name,receiver_mobile,receiver_address,buyer_message',
        'start_created': '2025-07-10 00:00:00',
        'end_created': '2025-07-17 23:59:59',
        'page_no': 1,
        'page_size': 50
    }

    params['sign'] = generate_sign(params, app_secret)

    response = requests.post(url, data=params)
    return response.json()

# 示例调用
app_key = 'your_app_key'
app_secret = 'your_app_secret'
session_key = 'your_session_key'

trades = get_trades_sold_list(app_key, app_secret, session_key)
print(trades)

✅ 解析订单数据(函数示例)

def parse_order(order):
    return {
        'tid': order.get('tid'),
        'status': order.get('status'),
        'pay_time': order.get('pay_time'),
        'receiver_name': order.get('receiver_name'),
        'receiver_mobile': order.get('receiver_mobile'),
        'receiver_address': order.get('receiver_address'),
        'buyer_message': order.get('buyer_message'),
    }

# 解析并打印
for trade in trades.get('trades_sold_get_response', {}).get('trades', []):
    parsed = parse_order(trade)
    print(parsed)

六、将订单写入本地系统或数据库

你可以将上面提取的订单信息写入数据库或ERP系统,例如:

示例:插入到MySQL数据库

import mysql.connector

conn = mysql.connector.connect(
    host="localhost",
    user="root",
    password="password",
    database="orders_db"
)

cursor = conn.cursor()

insert_query = """
INSERT INTO orders (tid, status, pay_time, receiver_name, receiver_mobile, receiver_address, buyer_message)
VALUES (%s, %s, %s, %s, %s, %s, %s)
"""

for trade in trades.get('trades_sold_get_response', {}).get('trades', []):
    parsed = parse_order(trade)
    cursor.execute(insert_query, (
        parsed['tid'],
        parsed['status'],
        parsed['pay_time'],
        parsed['receiver_name'],
        parsed['receiver_mobile'],
        parsed['receiver_address'],
        parsed['buyer_message']
    ))

conn.commit()
cursor.close()
conn.close()

七、结语

如果你是淘宝/天猫商家,有技术团队但不知道如何通过API获取订单数据,这篇文章已经为你提供了完整的解决方案:

  • API调用流程
  • 关键数据结构说明
  • Python调用示例
  • 如何将订单写入本地系统

从此告别手动导出Excel,实现订单自动化同步,提升发货效率,减少人为错误。


📌 点赞 + 收藏 + 关注,不错过更多电商实战干货!


作者简介:
鲨鱼,电商开放平台老司机,从业15年横跨京东、淘宝、拼多多等多个平台,熟悉每一个接口、每一套审核规则。专门为中小商家提供电商系统集成解决方案,帮助你打通平台API,实现自动化运营。


Logo

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

更多推荐