淘宝/天猫订单API实战:如何用代码同步订单并解析数据结构

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


一、前言

你是不是每天还在手动导出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》整理):

字段名示例值说明
tid12345678901234订单ID(主键)
statusWAIT_SELLER_SEND_GOODS订单状态:
WAIT_BUYER_PAY(待付款)
WAIT_SELLER_SEND_GOODS(待发货)
WAIT_BUYER_CONFIRM_GOODS(已发货)
TRADE_FINISHED(交易成功)
payment99.00实付金额(含运费)
buyer_nick小明同学买家昵称
buyer_open_uid1234567890123456789买家唯一标识
created2025-07-10 14:20:00创建时间
pay_time2025-07-10 14:25:00付款时间
receiver_name张三收货人姓名
receiver_mobile13800001111收货人手机号
receiver_state浙江省省份
receiver_city杭州市城市
receiver_district西湖区
receiver_address文三路123号详细地址
buyer_message请下午送到,不要放快递柜买家留言
typefixed(一口价)交易类型
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,实现自动化运营。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值