淘宝订单开放平台实战:如何通过API租户拉取订单数据

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


一、前言

如果你是淘宝或天猫商家,并且拥有自己的技术团队,但不知道如何通过淘宝开放平台自动同步订单数据,那这篇文章就是为你写的。我们将详细介绍如何使用淘宝开放平台提供的API来实现订单拉取,并解析返回的数据结构。

本文将帮助你:

  • 使用淘宝开放平台API进行订单拉取
  • 解析返回的数据结构
  • 将订单数据写入本地系统或ERP

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

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

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

三、常用订单API接口推荐

接口名称接口说明推荐用途
taobao.trade.fullinfo.get获取单个订单详情精确查询某个订单
taobao.trades.sold.get获取已卖出的交易列表(含商品信息)批量订单同步
taobao.trades.onsale.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,实现自动化运营。


### 使用沃尔玛API对接并订单 为了实现与沃尔玛API对接以订单的功能,开发者需遵循一系列特定步骤来配置环境、认证以及调用相应的接口。下面提供了一个基于Python语言的简单示例,用于展示如何通过HTTP请求的方式访问沃尔玛提供的开放平台服务。 #### 准备工作 首先,确保已经注册成为沃尔玛开发者,并获得了必要的API密钥和其他凭证信息。这些信息对于后续的身份验证至关重要。 其次,在项目环境中安装`requests`库以便于发起网络请求: ```bash pip install requests ``` #### 获Token 由于大多数情况下,沃尔玛API会要求使用OAuth 2.0协议来进行身份验证,因此需要先获token。这里简化处理,假设已经有了有效的client ID和secret key: ```python import requests url = 'https://sandbox.api.walmart.com/v3/token' payload = { 'grant_type': 'client_credentials', } auth = ('your_client_id', 'your_secret_key') response = requests.post(url, data=payload, auth=auth) access_token = response.json().get('access_token') print(f'Access Token: {access_token}') ``` #### 查询订单列表 有了上述获得的token之后,就可以向指定端点发送GET请求来检索订单数据了。注意替换实际生产环境下的URL路径及参数设置[^1]: ```python headers = {'Authorization': f'Bearer {access_token}'} order_url = 'https://sandbox.api.walmart.com/v3/orders?createdStartDate={start_date}&limit=10' params = { 'start_date': '2023-09-01T00:00:00Z', # 替换为具体日期范围 } orders_response = requests.get(order_url.format(**params), headers=headers) if orders_response.status_code == 200: orders_data = orders_response.json() for order in orders_data['elements']: print(f"Order Number:{order['number']}, Total Amount:${order['totalMoney']['amount']}") else: print(f"Failed to fetch orders with status code {orders_response.status_code}: {orders_response.text}") ``` 此代码片段展示了如何利用Python脚本连接至沃尔玛API服务器,并提一段时间内的销售记录摘要。需要注意的是,这里的沙盒(Sandbox)地址仅适用于测试目的;当准备上线时,请务必切换到正式的服务链接上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值