Files
youzan-datahub/docs/餐饮零售数据中台/有赞接口/2.订单批量查询接口 (youzan.trades.sold.get.4.0.4).md

9.4 KiB
Raw Blame History

订单批量查询接口 (youzan.trades.sold.get.4.0.4)

1. 接口基本信息

  • API 名称:订单批量查询接口
  • API 接口名youzan.trades.sold.get
  • 版本号4.0.4 4.0.2 及以上版本共用同一套底层结构)
  • 请求协议HTTPS
  • 请求方式GET/POST (推荐 POST application/json)

2. 接口描述

用于按条件批量搜索和查询有赞店铺的订单列表数据。该版本接口已全面升级 yz_open_id 作为买家唯一标识,目前不支持返回 buyer_id

⏱️ 核心查询与排序规则

支持基于订单的创建时间、更新时间和完成时间进行获取。

  • 创建时间:可以获取指定时间内所有的订单。
  • 更新时间:可以获取最新更新的订单,但是该范围内的订单是动态变化的。
  • 完成时间:可以获取指定时间内已完成的订单。

接口内置排序规则(优先级)

  1. 只有创建时间 start_createdend_created,按 创建时间 排序。
  2. 只有更新时间 start_updateend_update,按 更新时间 排序。
  3. 只有完成时间 start_successend_success,按 完成时间 排序。
  4. 同时存在创建时间、更新时间,按 更新时间 排序。
  5. 同时存在创建时间、完成时间,按 完成时间 排序。
  6. 同时存在更新时间、完成时间,按 完成时间 排序。
  7. 同时存在创建时间、更新时间、完成时间,按 完成时间 排序。
  8. 重要提醒:如创建或更新或完成时间的开始和结束时间不是成对出现,则该时间条件无效。

3. 请求地址

https://open.youzanyun.com/api/youzan.trades.sold.get/4.0.4

4. 请求参数 (全量)

参数名称 参数类型 必填 示例值 参数说明
access_token String 9b510e232c9... 鉴权凭证,用于请求 API
type String NORMAL 订单类型。NORMAL: 普通订单; PEERPAY: 代付; GIFT: 我要送人; GROUP: 拼团; HOTEL: 酒店; TAKE_AWAY: 外卖; CATERING_OFFLINE: 堂食点餐; CATERING_QRCODE: 外卖买单; KNOWLEDGE_PAY: 知识付费 等
status String WAIT_SELLER... 订单状态(一次只能查一种状态)。
WAIT_BUYER_PAY: 待付款
WAIT_SELLER_SEND_GOODS: 待发货
WAIT_BUYER_CONFIRM_GOODS: 待确认收货
TRADE_SUCCESS: 订单完成
TRADE_CLOSED: 订单关闭
TRADE_REFUND: 退款中
start_created Date 2023-10-01 00:00:00 创建开始时间
end_created Date 2023-10-01 23:59:59 创建结束时间
start_update Date 2023-10-01 00:00:00 更新开始时间
end_update Date 2023-10-01 23:59:59 更新结束时间
start_success Date 2023-10-01 00:00:00 交易完成开始时间
end_success Date 2023-10-01 23:59:59 交易完成结束时间
delivery_start_time Date 2023-10-01 00:00:00 发货/配送/自提 期望开始时间
delivery_end_time Date 2023-10-01 23:59:59 发货/配送/自提 期望结束时间
page_no Integer 1 页码,从 1 开始。页码最大不能超过 100,如需查询更多数据,必须按时间分段查询。
page_size Integer 20 每页条数,默认 20 条,最大不能超过 100
tid String E202310011... 有赞订单号(精确搜索查询)
yz_open_id String V1abcdef123... 买家在有赞的唯一标识 ID
receiver_name String 张三 收件人姓名
receiver_phone String 13800138000 收件人手机号
offline_id Long 123456 门店/网点 ID传入后只查归属该网点的订单
node_kdt_id Long 88888 连锁门店网点店铺 ID用于多网点/连锁总店拉取特定店单据场景)
goods_id Long 987654321 商品 ID筛选包含该商品的订单
goods_title String 薯片 商品标题(模糊搜索包含该标题的订单)
keywords String 苹果 搜索关键字(模糊匹配商品名、订单号等)
express_type String EXPRESS 物流类型。EXPRESS: 快递配送; LOCAL_DELIVERY: 同城送; SELF_FETCH: 自提
fans_id Long 0 买家有赞粉丝 ID
fans_type Integer 1 买家粉丝类型
exclude_order_tag String xxx 排除包含特定标签的订单
need_order_url Boolean false 是否需要返回前端该订单详情的 H5 链接
star Integer 1 卖家星标备注过滤1-5 对应标记的星级颜色)

5. 响应参数 (全量展开)

返回主体内以 data 包裹,核心业务数据在 full_order_info_list 中以数组形式返回。

根级参数名称 参数类型 描述说明
total_results Integer 搜索条件匹配到的订单总数
has_next Boolean 是否还有下一页(用于辅助判定分页)
full_order_info_list Array 完整的订单信息列表集合

5.1 full_order_info_list 内部对象全量解构

列表内的每一项包裹了一个 full_order_info 对象,内部包含了关于这笔交易各个维度的子结构体:

子结构体名称 内部包含的核心全量字段与说明
order_info
(交易基础信息)
tid(有赞订单号)
status(主订单状态枚举,如 WAIT_SELLER_SEND_GOODS)
status_str(状态中文描述文字)
type(主订单类型:0普通 10拼团 等)
backstage_order_type(后台订单类型标识,如 NORMALCROSS_BORDER)
pay_type(支付方式枚举值)
buyer_info
(买家信息)
yz_open_id(买家有赞唯一身份标识,对账核心)
buyer_phone(买家手机号,可能存在脱敏加密)
fans_id(粉丝ID)fans_type(粉丝类型)
fans_nickname(粉丝昵称)
outer_user_id(外部用户ID)
(⚠️ 注:此接口文档明确不返回原版 buyer_id)
pay_info
(支付与金额信息)
total_fee(订单总金额)post_fee(运费)
payment(实付总金额)real_payment(实际支付现金)
deduction_pay(虚拟抵扣金额,如积分/余额抵扣)
deduction_real_pay(实际抵扣金额)
(注:金额类型字段为 String 格式,单位:)
address_info
(收件与物流信息)
receiver_name(收件人姓名)receiver_tel(收件人电话)
delivery_province(省份)delivery_city(城市)
delivery_district(区县)delivery_address(详细地址)
delivery_postal_code(邮编)
address_extra(JSON 格式的经纬度扩展,如 {"lon":120.1,"lat":30.4})
self_fetch_info(自提点门店详情)
delivery_start_time/delivery_end_time(期望配送或提货时间)
remark_info
(备注与评价信息)
buyer_message(买家留言)
trade_memo(卖家内部备注)
star(订单星标等级 0~5)
orders (Array)
(商品明细列表)
包裹在该订单内的所有独立商品 SKU 数组:
item_id(商品ID)sku_id(规格ID)
outer_item_id(外部商品/SPU商家编码)
outer_sku_id(外部规格/SKU商家编码)
title(商品名称)price(单价,单位元)
num(购买数量)discount_fee(优惠分摊金额)
payment(该商品最终实付金额)is_cross_border(是否海淘商品)
child_info
(子单信息)
包含 child_orders 数组。当出现订单因拆包或部分发货时会产生关联的子订单号(通常取自其内部的 tid 用于局部发货接口)。
invoice_info
(发票信息)
taxpayer_id(买家填写的发票税号/抬头等)

6. ⚠️ 开发者防坑指南与注意事项

  1. 接口同步延时(非常重要) 批量接口底层数据有一定的同步延时。强烈建议在收到订单相关的交易消息推送Webhook间隔大于 30 秒再调用此接口查询。如果是主动定时轮询拉取订单,同样建议将查询时间范围整体向后延迟 30 秒(例如当前是 10:00:00只查 09:59:30 之前的数据)。如果刚付款立刻查可能返回为空,遇到返回空可以实施重试机制。
  2. 分页与深度翻页限制 page_nopage_size 乘积代表查询深度,单页最大 100 条且页码不能超过 100 页。在系统对接进行大批量拉取时,必须采用时间切片法(如每 1 小时或每 30 分钟为一个区间,循环请求),不能单靠增加页码来拉取海量历史数据。
  3. 退款订单的特殊性start_success (完成时间) 搜索,查到的是状态为“交易成功”的订单。如订单发生全额退款,其状态会变为 TRADE_CLOSED(交易关闭)。若需处理售后退单业务,须配合有赞退款 APIyouzan.trade.refund.search)或交易消息服务使用。
  4. 老订单降级说明 由于该版本数据架构调整,若需查询 2020 年以前的极早期订单数据,请降级调用 youzan.trades.sold.get.4.0.0 接口,新版接口无法查出早于 2020 年的历史数据。