lingxingapi 1.1.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. lingxingapi/__init__.py +7 -0
  2. lingxingapi/ads/__init__.py +0 -0
  3. lingxingapi/ads/api.py +5946 -0
  4. lingxingapi/ads/param.py +192 -0
  5. lingxingapi/ads/route.py +134 -0
  6. lingxingapi/ads/schema.py +2615 -0
  7. lingxingapi/api.py +557 -0
  8. lingxingapi/base/__init__.py +0 -0
  9. lingxingapi/base/api.py +568 -0
  10. lingxingapi/base/param.py +59 -0
  11. lingxingapi/base/route.py +11 -0
  12. lingxingapi/base/schema.py +198 -0
  13. lingxingapi/basic/__init__.py +0 -0
  14. lingxingapi/basic/api.py +466 -0
  15. lingxingapi/basic/param.py +72 -0
  16. lingxingapi/basic/route.py +20 -0
  17. lingxingapi/basic/schema.py +218 -0
  18. lingxingapi/errors.py +152 -0
  19. lingxingapi/fba/__init__.py +0 -0
  20. lingxingapi/fba/api.py +1691 -0
  21. lingxingapi/fba/param.py +250 -0
  22. lingxingapi/fba/route.py +30 -0
  23. lingxingapi/fba/schema.py +987 -0
  24. lingxingapi/fields.py +50 -0
  25. lingxingapi/finance/__init__.py +0 -0
  26. lingxingapi/finance/api.py +3091 -0
  27. lingxingapi/finance/param.py +616 -0
  28. lingxingapi/finance/route.py +44 -0
  29. lingxingapi/finance/schema.py +1243 -0
  30. lingxingapi/product/__init__.py +0 -0
  31. lingxingapi/product/api.py +2643 -0
  32. lingxingapi/product/param.py +934 -0
  33. lingxingapi/product/route.py +49 -0
  34. lingxingapi/product/schema.py +1004 -0
  35. lingxingapi/purchase/__init__.py +0 -0
  36. lingxingapi/purchase/api.py +496 -0
  37. lingxingapi/purchase/param.py +126 -0
  38. lingxingapi/purchase/route.py +11 -0
  39. lingxingapi/purchase/schema.py +215 -0
  40. lingxingapi/sales/__init__.py +0 -0
  41. lingxingapi/sales/api.py +3200 -0
  42. lingxingapi/sales/param.py +723 -0
  43. lingxingapi/sales/route.py +70 -0
  44. lingxingapi/sales/schema.py +1718 -0
  45. lingxingapi/source/__init__.py +0 -0
  46. lingxingapi/source/api.py +1799 -0
  47. lingxingapi/source/param.py +176 -0
  48. lingxingapi/source/route.py +38 -0
  49. lingxingapi/source/schema.py +1011 -0
  50. lingxingapi/tools/__init__.py +0 -0
  51. lingxingapi/tools/api.py +291 -0
  52. lingxingapi/tools/param.py +73 -0
  53. lingxingapi/tools/route.py +8 -0
  54. lingxingapi/tools/schema.py +169 -0
  55. lingxingapi/utils.py +456 -0
  56. lingxingapi/warehourse/__init__.py +0 -0
  57. lingxingapi/warehourse/api.py +1778 -0
  58. lingxingapi/warehourse/param.py +506 -0
  59. lingxingapi/warehourse/route.py +28 -0
  60. lingxingapi/warehourse/schema.py +926 -0
  61. lingxingapi-1.1.4.dist-info/METADATA +73 -0
  62. lingxingapi-1.1.4.dist-info/RECORD +65 -0
  63. lingxingapi-1.1.4.dist-info/WHEEL +5 -0
  64. lingxingapi-1.1.4.dist-info/licenses/LICENSE +22 -0
  65. lingxingapi-1.1.4.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1718 @@
1
+ # -*- coding: utf-8 -*-
2
+ from typing import Any
3
+ from pydantic import BaseModel, Field, field_validator
4
+ from lingxingapi.base import schema as base_schema
5
+ from lingxingapi.base.schema import ResponseV1, ResponseResult, FlattenDataRecords
6
+ from lingxingapi.fields import IntOrNone2Zero, FloatOrNone2Zero, StrOrNone2Blank
7
+
8
+
9
+ # 销售 - Listing ----------------------------------------------------------------------------------------------------------------
10
+ # . Listing
11
+ class ListingSubcategory(BaseModel):
12
+ """商品小类排名."""
13
+
14
+ # 商品所属小类目 [原字段 'category']
15
+ subcategory: str = Field(validation_alias="category")
16
+ # 商品小类目排名 [原字段 'rank']
17
+ subcategory_rank: int = Field(validation_alias="rank")
18
+
19
+
20
+ class ListingDimension(BaseModel):
21
+ """商品尺寸和重量.
22
+
23
+ - 长度单位: ""(未知), "inches", "inch", "centimeter", "yard", "veron", "foot"
24
+ - 重量单位: ""(未知), "pounds", "kg", "ounce", "gram", "carat"
25
+ """
26
+
27
+ # 商品高度
28
+ item_height: FloatOrNone2Zero
29
+ # 商品高度单位 [原字段 'item_height_units_type']
30
+ item_height_unit: str = Field(validation_alias="item_height_units_type")
31
+ # 商品长度
32
+ item_length: FloatOrNone2Zero
33
+ # 商品长度单位 [原字段 'item_length_units_type']
34
+ item_length_unit: str = Field(validation_alias="item_length_units_type")
35
+ # 商品宽度
36
+ item_width: FloatOrNone2Zero
37
+ # 商品宽度单位 [原字段 'item_width_units_type']
38
+ item_width_unit: str = Field(validation_alias="item_width_units_type")
39
+ # 商品重量
40
+ item_weight: FloatOrNone2Zero
41
+ # 商品重量单位 [原字段 'item_weight_units_type']
42
+ item_weight_unit: str = Field(validation_alias="item_weight_units_type")
43
+ # 商品包装高度
44
+ package_height: FloatOrNone2Zero
45
+ # 商品包装高度单位 [原字段 'package_height_units_type']
46
+ package_height_unit: str = Field(validation_alias="package_height_units_type")
47
+ # 商品包装长度
48
+ package_length: FloatOrNone2Zero
49
+ # 商品包装长度单位 [原字段 'package_length_units_type']
50
+ package_length_unit: str = Field(validation_alias="package_length_units_type")
51
+ # 商品包装宽度
52
+ package_width: FloatOrNone2Zero
53
+ # 商品包装宽度单位 [原字段 'package_width_units_type']
54
+ package_width_unit: str = Field(validation_alias="package_width_units_type")
55
+ # 商品包装重量
56
+ package_weight: FloatOrNone2Zero
57
+ # 商品包装重量单位 [原字段 'package_weight_units_type']
58
+ package_weight_unit: str = Field(validation_alias="package_weight_units_type")
59
+
60
+
61
+ class ListingOperator(BaseModel):
62
+ """商品负责人."""
63
+
64
+ # 负责人的领星帐号ID (Account.user_id) [原字段 'principal_uid']
65
+ user_id: int = Field(validation_alias="principal_uid")
66
+ # 负责人的领星帐号显示姓名 (Account.display_name) [原字段 'principal_name']
67
+ user_name: str = Field(validation_alias="principal_name")
68
+
69
+
70
+ class ListingTagInfo(BaseModel):
71
+ """商品标签信息."""
72
+
73
+ # 领星标签ID (ListingGlobalTag.tag_id) [原字段 'globalTagId']
74
+ tag_id: str = Field(validation_alias="globalTagId")
75
+ # 领星标签名称 (ListingGlobalTag.tag_name) [原字段 'tagName']
76
+ tag_name: str = Field(validation_alias="tagName")
77
+ # 领星标签颜色 (如: "#FF0000") [原字段 'color']
78
+ tag_color: str = Field(validation_alias="color")
79
+
80
+
81
+ class Listing(BaseModel):
82
+ """商品 Listing 信息."""
83
+
84
+ # fmt: off
85
+ # 领星店铺ID (Seller.sid) [sid + msku 唯一标识]
86
+ sid: int
87
+ # 商品国家 (中文) [原字段 'marketplace']
88
+ country: str = Field(validation_alias="marketplace")
89
+ # 商品ASIN码 (Amazon Standard Identification Number)
90
+ asin: str
91
+ # 商品父ASIN码 (变体商品的主ASIN, 无变体则与 asin 相同)
92
+ parent_asin: str
93
+ # 亚马逊商品SKU [原字段 'seller_sku']
94
+ msku: str = Field(validation_alias="seller_sku")
95
+ # 领星本地商品SKU [原字段 'local_sku']
96
+ lsku: str = Field(validation_alias="local_sku")
97
+ # 亚马逊FBA自生成的商品编号
98
+ fnsku: str
99
+ # 领星本地商品名称 [原字段 'local_name']
100
+ product_name: str = Field(validation_alias="local_name")
101
+ # 品牌名称 [原字段 'brand_name']
102
+ brand: str = Field(validation_alias="seller_brand")
103
+ # 商品标题 [原字段 'item_name']
104
+ title: str = Field(validation_alias="item_name")
105
+ # 商品略缩图链接 [原字段 'small_image_url']
106
+ thumbnail_url: str = Field(validation_alias="small_image_url")
107
+ # 产品类型 (1: 普通产品, 2: 多属性产品) [原字段 'store_type']
108
+ product_type: int = Field(validation_alias="store_type")
109
+ # 商品价格的货币代码
110
+ currency_code: str
111
+ # 商品标准价 (不包含促销, 运费, 积分) [原字段 'price']
112
+ standard_price: FloatOrNone2Zero = Field(validation_alias="price")
113
+ # 商品优惠价 [原字段 'listing_price']
114
+ sale_price: FloatOrNone2Zero = Field(validation_alias="listing_price")
115
+ # 商品运费
116
+ shipping: FloatOrNone2Zero
117
+ # 商品积分 (适用于日本站点)
118
+ points: FloatOrNone2Zero
119
+ # 商品到手价 (包含促销, 运费, 积分)
120
+ landed_price: FloatOrNone2Zero
121
+ # 商品昨天的总销售额 [原字段 'yesterday_amount']
122
+ sales_amt_1d: FloatOrNone2Zero = Field(validation_alias="yesterday_amount")
123
+ # 商品7天的总销售额 [原字段 'seven_amount']
124
+ sales_amt_7d: FloatOrNone2Zero = Field(validation_alias="seven_amount")
125
+ # 商品14天的总销售额 [原字段 'fourteen_amount']
126
+ sales_amt_14d: FloatOrNone2Zero = Field(validation_alias="fourteen_amount")
127
+ # 商品30天的总销售额 [原字段 'thirty_amount']
128
+ sales_amt_30d: FloatOrNone2Zero = Field(validation_alias="thirty_amount")
129
+ # 商品昨天的总销量 [原字段 'yesterday_volume']
130
+ sales_qty_1d: IntOrNone2Zero = Field(validation_alias="yesterday_volume")
131
+ # 商品7天的总销量 [原字段 'total_volume']
132
+ sales_qty_7d: IntOrNone2Zero = Field(validation_alias="total_volume")
133
+ # 商品14天的总销量 [原字段 'fourteen_volume']
134
+ sales_qty_14d: IntOrNone2Zero = Field(validation_alias="fourteen_volume")
135
+ # 商品30天的总销量 [原字段 'thirty_volume']
136
+ sales_qty_30d: IntOrNone2Zero = Field(validation_alias="thirty_volume")
137
+ # 商品7天的日均销量 [原字段 'average_seven_volume']
138
+ sales_avg_qty_7d: FloatOrNone2Zero = Field(validation_alias="average_seven_volume")
139
+ # 商品14天的日均销量 [原字段 'average_fourteen_volume']
140
+ sales_avg_qty_14d: FloatOrNone2Zero = Field(validation_alias="average_fourteen_volume")
141
+ # 商品30天的日均销量 [原字段 'average_thirty_volume']
142
+ sales_avg_qty_30d: FloatOrNone2Zero = Field(validation_alias="average_thirty_volume")
143
+ # 商品所属主类目 [原字段 'seller_category_new']
144
+ category: list[str] = Field(validation_alias="seller_category_new")
145
+ # 商品主类目排名 [原字段 'seller_rank']
146
+ category_rank: int = Field(validation_alias="seller_rank")
147
+ # 商品小类和排名列表 [原字段 'small_rank']
148
+ subcategories: list[ListingSubcategory] = Field(validation_alias="small_rank")
149
+ # 商品评价数量 [原字段 'review_num']
150
+ review_count: int = Field(validation_alias="review_num")
151
+ # 商品评价星级 [原字段 'last_star']
152
+ review_stars: FloatOrNone2Zero = Field(validation_alias="last_star")
153
+ # 商品配送方式 (如: "FBA" 或 "FBM") [原字段 'fulfillment_channel_type']
154
+ fulfillment_channel: str = Field(validation_alias="fulfillment_channel_type")
155
+ # FBM 可售库存数量 [原字段 'quantity']
156
+ mfn_fulfillable: int = Field(validation_alias="quantity")
157
+ # FBA 在库可售的库存数量 [原字段 'afn_fulfillable_quantity']
158
+ afn_fulfillable: int = Field(validation_alias="afn_fulfillable_quantity")
159
+ # FBA 在库不可售的库存数量 [原字段 'afn_unsellable_quantity']
160
+ afn_unsellable: int = Field(validation_alias="afn_unsellable_quantity")
161
+ # FBA 在库待调仓的库存数量 [原字段 'reserved_fc_processing']
162
+ afn_reserved_fc_processing: int = Field(validation_alias="reserved_fc_processing")
163
+ # FBA 在库调仓中的库存数量 [原字段 'reserved_fc_transfers']
164
+ afn_reserved_fc_transfers: int = Field(validation_alias="reserved_fc_transfers")
165
+ # FBA 在库待发货的库存数量 [原字段 'reserved_customerorders']
166
+ afn_reserved_customer_order: int = Field(validation_alias="reserved_customerorders")
167
+ # FBA 发货计划入库的库存数量 [原字段 'afn_inbound_working_quantity']
168
+ afn_inbound_working: int = Field(validation_alias="afn_inbound_working_quantity")
169
+ # FBA 发货在途的库存数量 [原字段 'afn_inbound_shipped_quantity']
170
+ afn_inbound_shipped: int = Field(validation_alias="afn_inbound_shipped_quantity")
171
+ # FBA 发货入库接收中的库存数量 [原字段 'afn_inbound_receiving_quantity']
172
+ afn_inbound_receiving: int = Field(validation_alias="afn_inbound_receiving_quantity")
173
+ # 商品状态 (0: 停售, 1: 在售)
174
+ status: int
175
+ # 商品是否已删除 (0: 未删除, 1: 已删除) [原字段 'is_delete']
176
+ deleted: int = Field(validation_alias="is_delete")
177
+ # 商品创建时间 (时区时间) [原字段 'open_date_display']
178
+ create_time: str = Field(validation_alias="open_date_display")
179
+ # 商品开售日期 (如: "2023-06-23") [原字段 'on_sale_time']
180
+ on_sale_date: str = Field(validation_alias="on_sale_time")
181
+ # 商品首次下单日期 (如: "2023-06-23") [原字段 'first_order_time']
182
+ first_order_date: str = Field(validation_alias="first_order_time")
183
+ # 亚马逊更新时间 (UTC时间) [原字段 'listing_update_date']
184
+ update_time_utc: str = Field(validation_alias="listing_update_date")
185
+ # 领星配对时间 (北京时间) [原字段 'pair_update_time']
186
+ pair_time_cnt: str = Field(validation_alias="pair_update_time")
187
+ # 商品尺寸和重量 [原字段 'dimension_info']
188
+ dimensions: list[ListingDimension] = Field(validation_alias="dimension_info")
189
+ # 商品负责人 [原字段 'principal_info']
190
+ operators: list[ListingOperator] = Field(validation_alias="principal_info")
191
+ # 商品标签信息 [原字段 'global_tags']
192
+ tags: list[ListingTagInfo] = Field(validation_alias="global_tags")
193
+ # fmt: on
194
+
195
+
196
+ class Listings(ResponseV1):
197
+ """商品Listing."""
198
+
199
+ data: list[Listing]
200
+
201
+
202
+ # . Edit Listing Result [Generic]
203
+ class EditListing(BaseModel):
204
+ """更新商品 Listing 的结果."""
205
+
206
+ # 总更新个数
207
+ total: IntOrNone2Zero
208
+ # 更新成功个数 [原字段 'success_num']
209
+ success: IntOrNone2Zero = Field(validation_alias="success")
210
+ # 更新失败个数 [原字段 'failure_num']
211
+ failure: IntOrNone2Zero = Field(validation_alias="error")
212
+
213
+
214
+ class EditListingResult(ResponseResult):
215
+ """更新商品 Listing 的结果."""
216
+
217
+ data: EditListing
218
+
219
+
220
+ # . Edit Listing Price
221
+ class EditListingPriceFailureDetail(BaseModel):
222
+ """更新商品价格失败的详情."""
223
+
224
+ # 领星店铺ID (Seller.sid)
225
+ sid: int
226
+ # 商品ASIN码 (Listing.asin)
227
+ asin: str
228
+ # 亚马逊卖家SKU (Listing.msku)
229
+ msku: str
230
+ # 错误信息 [原字段 'msg']
231
+ message: str = Field(validation_alias="msg")
232
+
233
+
234
+ class EditListingPrice(BaseModel):
235
+ """更新商品价格的结果."""
236
+
237
+ # fmt: off
238
+ # 更新成功个数 [原字段 'success_num']
239
+ success: IntOrNone2Zero = Field(validation_alias="success_num")
240
+ # 更新失败个数 [原字段 'failure_num']
241
+ failure: IntOrNone2Zero = Field(validation_alias="failure_num")
242
+ # 更新失败的详情
243
+ failure_detail: list[EditListingPriceFailureDetail]
244
+ # fmt: on
245
+
246
+ # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
247
+ @field_validator("failure_detail", mode="before")
248
+ def _validate_failure_detail(cls, v):
249
+ if v is None:
250
+ return []
251
+ return [EditListingPriceFailureDetail.model_validate(i) for i in v]
252
+
253
+
254
+ class EditListingPricesResult(ResponseResult):
255
+ """更新商品价格的结果."""
256
+
257
+ data: EditListingPrice
258
+
259
+
260
+ # . Listing Global Tag
261
+ class ListingGlobalTag(BaseModel):
262
+ """商品 Listing 标签."""
263
+
264
+ # 领星标签ID [原字段 'global_tag_id']
265
+ tag_id: str = Field(validation_alias="global_tag_id")
266
+ # 领星标签名称
267
+ tag_name: str
268
+ # 标签类型 [原字段 'type']
269
+ tag_type: str = Field(validation_alias="type")
270
+ # 标签的关联对象 [原字段 'tag_object']
271
+ tag_attachment: str = Field(validation_alias="tag_object")
272
+ # 标签当前关联对象的总数量 [原字段 'relation_count']
273
+ tag_attachment_count: int = Field(validation_alias="relation_count")
274
+ # 标签最初创建者 (Account.display_name) [原字段 'create_by_name']
275
+ created_by: StrOrNone2Blank = Field(validation_alias="create_by_name")
276
+ # 标签创建时间 (北京时间) [原字段 'create_by']
277
+ create_time: str = Field(validation_alias="create_by")
278
+ # 标签最后编辑者 (Account.display_name) [原字段 'modify_by_name']
279
+ modified_by: StrOrNone2Blank = Field(validation_alias="modify_by_name")
280
+ # 标签修改时间 (北京时间) [原字段 'modify_by']
281
+ modify_time: str = Field(validation_alias="modify_by")
282
+
283
+
284
+ class ListingGlobalTags(ResponseV1):
285
+ """商品 Listing 标签列表."""
286
+
287
+ data: list[ListingGlobalTag]
288
+
289
+
290
+ # . Listing Tag
291
+ class ListingTag(BaseModel):
292
+ """商品 Listing 关联标签."""
293
+
294
+ # 领星店铺ID (Seller.sid)
295
+ sid: int
296
+ # 亚马逊卖家SKU (Listing.msku) [原字段 'relation_id']
297
+ msku: str = Field(validation_alias="relation_id")
298
+ # 标签信息列表 [原字段 'tag_infos']
299
+ tags: list[base_schema.TagInfo] = Field(validation_alias="tag_infos")
300
+
301
+
302
+ class ListingTags(ResponseV1):
303
+ """商品 Listing 关联标签列表."""
304
+
305
+ data: list[ListingTag]
306
+
307
+
308
+ # . Listing FBA Fee
309
+ class ListingFbaFee(BaseModel):
310
+ """商品 Listing 的 FBA 费用."""
311
+
312
+ # 领星店铺ID (Seller.sid)
313
+ sid: int
314
+ # 亚马逊卖家SKU (Listing.msku)
315
+ msku: str
316
+ # 预估FBA费用
317
+ fba_fee: FloatOrNone2Zero
318
+ # 预估FBA费用货币代码 [原字段 'fba_fee_currency_code']
319
+ currency_code: str = Field(validation_alias="fba_fee_currency_code")
320
+
321
+
322
+ class ListingFbaFees(ResponseV1):
323
+ """商品 Listing 的 FBA 费用列表."""
324
+
325
+ data: list[ListingFbaFee]
326
+
327
+
328
+ # . Edit Listing FBM Inventory
329
+ class EditListingFbmFailureDetail(BaseModel):
330
+ """更新商品 FBM 库存失败的详情."""
331
+
332
+ # 领星店铺ID (Seller.sid) [原字段 'storeId']
333
+ sid: int = Field(validation_alias="storeId")
334
+ # 商品ASIN码 (Listing.asin)
335
+ asin: str
336
+ # 亚马逊卖家SKU (Listing.msku)
337
+ msku: str
338
+ # 错误信息 [原字段 'msg']
339
+ message: str = Field(validation_alias="msg")
340
+
341
+
342
+ class EditListingFbm(BaseModel):
343
+ """更新商品 FBM 库存的结果."""
344
+
345
+ # fmt: off
346
+ # 更新成功个数 [原字段 'successNum']
347
+ success: int = Field(validation_alias="successNum")
348
+ # 更新失败个数 [原字段 'failureNum']
349
+ failure: int = Field(validation_alias="failureNum")
350
+ # 更新失败的详情 [原字段 'failureDetail']
351
+ failure_detail: list[EditListingFbmFailureDetail] = Field(validation_alias="failureDetail")
352
+ # fmt: on
353
+
354
+
355
+ class EditListingFbmsResult(ResponseResult):
356
+ """更新商品 FBM 库存的结果."""
357
+
358
+ data: EditListingFbm
359
+
360
+
361
+ # . Listing Operation Log
362
+ class ListingOperationLog(BaseModel):
363
+ # 领星店铺ID (Seller.sid)
364
+ sid: int
365
+ # 操作用户名称 (Account.display_name) [原字段 'operate_user']
366
+ operator: str = Field(validation_alias="operate_user")
367
+ # 操作类型 [原字段 'operate_type']
368
+ operation_type: int = Field(validation_alias="operate_type")
369
+ # 操作类型说明 [原字段 'operate_type_text']
370
+ operation_type_desc: str = Field(validation_alias="operate_type_text")
371
+ # 操作时间 (北京时间) [原字段 'operate_time']
372
+ operation_time: str = Field(validation_alias="operate_time")
373
+ # 操作详情 [原字段 'operate_detail']
374
+ operation_detail: str = Field(validation_alias="operate_detail")
375
+
376
+
377
+ class ListingOperationLogs(ResponseV1):
378
+ """商品 Listing 操作日志."""
379
+
380
+ data: list[ListingOperationLog]
381
+
382
+
383
+ # 销售 - 平台订单 ----------------------------------------------------------------------------------------------------------------
384
+ # . Order
385
+ class OrderItem(BaseModel):
386
+ """平台的订单商品."""
387
+
388
+ # 商品ASIN (Listing.asin)
389
+ asin: str
390
+ # 亚马逊卖家SKU (Listing.msku) [原字段 'seller_sku']
391
+ msku: str = Field(validation_alias="seller_sku")
392
+ # 领星本地SKU (Listing.lsku) [原字段 'local_sku']
393
+ lsku: str = Field(validation_alias="local_sku")
394
+ # 领星本地商品名 (Listing.product_name) [原字段 'local_name']
395
+ product_name: str = Field(validation_alias="local_name")
396
+ # 订购数量 [原字段 'quantity_ordered']
397
+ order_qty: int = Field(validation_alias="quantity_ordered")
398
+ # 订单状态
399
+ order_status: str
400
+
401
+
402
+ class Order(BaseModel):
403
+ """平台订单."""
404
+
405
+ # fmt: off
406
+ # 领星店铺ID (Seller.sid)
407
+ sid: int
408
+ # 领星店铺名称 (Seller.name)
409
+ seller_name: str
410
+ # 亚马逊订单ID
411
+ amazon_order_id: str
412
+ # 销售渠道 (如: "Amazon.com")
413
+ sales_channel: str
414
+ # 配送方式 ("AFN" 或 "MFN")
415
+ fulfillment_channel: str
416
+ # 物流追踪号码
417
+ tracking_number: str
418
+ # 订单状态
419
+ order_status: str
420
+ # 是否为退货订单 (0: 否, 1: 是)
421
+ is_return_order: int
422
+ # 退货订单的状态 (0: 未退货, 1: 退货中, 2: 完成退货/退款, 3: 被标记为领星本地的退货订单) [原字段 'is_return']
423
+ return_order_status: int = Field(validation_alias="is_return", description="退货订单的状态")
424
+ # 是否为换货订单 (0: 否, 1: 是)
425
+ is_replacement_order: int
426
+ # 换货订单的状态 (0: 未换货, 1: 完成换货) [原字段 'is_replaced_order']
427
+ replacement_order_status: int = Field(validation_alias="is_replaced_order")
428
+ # 是否为多渠道配送订单 (0: 否, 1: 是) [2023年后的多渠道订单数据均不在此接口返回]
429
+ is_mcf_order: int
430
+ # 是否被标记为领星本地的推广订单 (0: 否, 1: 是) [原字段 'is_assessed']
431
+ is_promotion_tagged: int = Field(validation_alias="is_assessed")
432
+ # 订单金额的货币代码 [原字段 'order_total_currency_code']
433
+ order_currency_code: str = Field(validation_alias="order_total_currency_code")
434
+ # 订单总金额 [原字段 'order_total_amount']
435
+ order_amt: FloatOrNone2Zero = Field(validation_alias="order_total_amount")
436
+ # 退款金额 [原字段 'refund_amount']
437
+ refund_amt: FloatOrNone2Zero = Field(validation_alias="refund_amount")
438
+ # 买家名字
439
+ buyer_name: str
440
+ # 买家电子邮箱
441
+ buyer_email: str
442
+ # 买家电话号码 [原字段 'phone']
443
+ buyer_phone: str = Field(validation_alias="phone")
444
+ # 买家地址 [原字段 'address']
445
+ buyer_address: str = Field(validation_alias="address")
446
+ # 买家邮政编码 [原字段 'postal_code']
447
+ buyer_postcode: str = Field(validation_alias="postal_code")
448
+ # 订购时间 (时区时间, 如: '2025-07-07T19:39:47Z') [原字段 'purchase_date']
449
+ purchase_time: str = Field(validation_alias="purchase_date")
450
+ # 订购时间 (UTC时间) [原字段 'purchase_date_local_utc']
451
+ purchase_time_utc: str = Field(validation_alias="purchase_date_local_utc")
452
+ # 订购时间 (站点时间) [原字段 'purchase_date_local']
453
+ purchase_time_loc: str = Field(validation_alias="purchase_date_local")
454
+ # 发货时间 (时区时间, 如: '2025-07-08T02:17:27+00:00') [原字段 'shipment_date']
455
+ shipment_time: str = Field(validation_alias="shipment_date")
456
+ # 发货时间 (UTC时间) [原字段 'shipment_date_utc']
457
+ shipment_time_utc: str = Field(validation_alias="shipment_date_utc")
458
+ # 发货时间 (站点时间) [原字段 'shipment_date_local']
459
+ shipment_time_loc: str = Field(validation_alias="shipment_date_local")
460
+ # 最早发货时间 (时区时间, 如: '2025-07-08T06:59:59Z') [原字段 'earliest_ship_date']
461
+ earliest_ship_time: str = Field(validation_alias="earliest_ship_date")
462
+ # 最早发货时间 (UTC时间) [原字段 'earliest_ship_date_utc']
463
+ earliest_ship_time_utc: str = Field(validation_alias="earliest_ship_date_utc")
464
+ # 付款确认时间 (时区时间, 如: '2025-07-15T17:14:53Z') [原字段 'posted_date_utc']
465
+ posted_time: str = Field(validation_alias="posted_date_utc")
466
+ # 付款确认时间 (UTC时间) [原字段 'posted_date']
467
+ posted_time_utc: str = Field(validation_alias="posted_date")
468
+ # 亚马逊订单更新时间 (UTC时间) [原字段 'last_update_date_utc']
469
+ update_time_utc: str = Field(validation_alias="last_update_date_utc")
470
+ # 亚马逊订单更新时间 (站点时间) [原字段 'last_update_date']
471
+ update_time_loc: str = Field(validation_alias="last_update_date")
472
+ # 领星订单更新时间 (北京时间) [原字段 'gmt_modified']
473
+ modify_time_cnt: str = Field(validation_alias="gmt_modified")
474
+ # 领星订单更新时间 (UTC时间) [原字段 'gmt_modified_utc']
475
+ modify_time_utc: str = Field(validation_alias="gmt_modified_utc")
476
+ # 订单中的商品列表 [原字段 'item_list']
477
+ items: list[OrderItem] = Field(validation_alias="item_list")
478
+ # fmt: on
479
+
480
+
481
+ class Orders(ResponseV1):
482
+ """平台订单列表."""
483
+
484
+ data: list[Order]
485
+
486
+
487
+ # . Order Detail Item
488
+ class OrderDetailItem(BaseModel):
489
+ """平台订单详情中的商品.
490
+
491
+ ## 与领星前台对比缺失字段
492
+ - 站外推广费的'佣金', 此字段在前台订单详情中显示并会比计入毛利率, 但在此接口中未返回.
493
+
494
+ ## 与领星前台对比无效字段
495
+ - 在前台订单详情中会显示 '平台支出->其他', 但在此接口返回的 'other_amount'
496
+ 字段中为空字符串.
497
+ """
498
+
499
+ # fmt: off
500
+ # 领星店铺ID
501
+ sid: int
502
+ # 领星本地商品ID
503
+ product_id: int
504
+ # 领星订单详情ID [原字段 'id']
505
+ order_id: int = Field(validation_alias="id")
506
+ # 亚马逊订单商品编码 [订单下唯一键, 但亚马逊返回值可能会发生变更]
507
+ order_item_id: str
508
+ # 商品ASIN
509
+ asin: str
510
+ # 亚马逊卖家SKU [原字段 'seller_sku']
511
+ msku: str = Field(validation_alias="seller_sku")
512
+ # 领星本地商品SKU [原字段 'sku']
513
+ lsku: str = Field(validation_alias="sku")
514
+ # 领星本地商品名称
515
+ product_name: str
516
+ # 商品 ASIN 链接
517
+ asin_url: str
518
+ # 商品图片链接 [原字段 'pic_url']
519
+ image_url: str = Field(validation_alias="pic_url")
520
+ # 商品标题
521
+ title: str
522
+ # 订单商品总数量 [原字段 'quantity_ordered']
523
+ order_qty: int = Field(validation_alias="quantity_ordered")
524
+ # 订单已发货数量 [原字段 'quantity_shipped']
525
+ shipped_qty: int = Field(validation_alias="quantity_shipped")
526
+ # 商品促销标识 [原字段 'promotion_ids']
527
+ promotion_labels: list[str] = Field(validation_alias="promotion_ids")
528
+ # 商品价格标识 (如: "Business Price") [原字段 'price_designation']
529
+ price_label: str = Field(validation_alias="price_designation")
530
+ # 商品销售单价 [原字段 'unit_price_amount']
531
+ item_price: FloatOrNone2Zero = Field(validation_alias="unit_price_amount")
532
+ # 商品销售金额 [原字段 'item_price_amount']
533
+ sales_amt: FloatOrNone2Zero = Field(validation_alias="item_price_amount")
534
+ # 商品销售金额税费 [原字段 'item_tax_amount']
535
+ sales_tax_amt: FloatOrNone2Zero = Field(validation_alias="item_tax_amount")
536
+ # 商品销售实收金额 [原字段 'sales_price_amount']
537
+ sales_received_amt: FloatOrNone2Zero = Field(validation_alias="sales_price_amount")
538
+ # 买家支付运费金额 [原字段 'shipping_price_amount']
539
+ shipping_credits_amt: FloatOrNone2Zero = Field(validation_alias="shipping_price_amount")
540
+ # 买家支付运费税费 [原字段 'shipping_tax_amount']
541
+ shipping_credits_tax_amt: FloatOrNone2Zero = Field(validation_alias="shipping_tax_amount")
542
+ # 买家支付礼品包装费金额 [原字段 'gift_wrap_price_amount']
543
+ giftwrap_credits_amt: FloatOrNone2Zero = Field(validation_alias="gift_wrap_price_amount")
544
+ # 买家支付礼品包装费税费 [原字段 'gift_wrap_tax_amount']
545
+ giftwrap_credits_tax_amt: FloatOrNone2Zero = Field(validation_alias="gift_wrap_tax_amount")
546
+ # 买家支付货到付款服务费金额 (Cash On Delivery) [原字段 'cod_fee_amount']
547
+ cod_service_credits_amt: FloatOrNone2Zero = Field(validation_alias="cod_fee_amount")
548
+ # 卖家商品促销折扣金额 [原字段 'promotion_discount_amount']
549
+ promotion_discount_amt: FloatOrNone2Zero = Field(validation_alias="promotion_discount_amount")
550
+ # 卖家商品促销折扣税费 [原字段 'promotion_discount_tax_amount']
551
+ promotion_discount_tax_amt: FloatOrNone2Zero = Field(validation_alias="promotion_discount_tax_amount")
552
+ # 卖家商品运费折扣金额 [原字段 'shipping_discount_amount']
553
+ shipping_discount_amt: FloatOrNone2Zero = Field(validation_alias="shipping_discount_amount")
554
+ # 卖家商品运费折扣税费 [原字段 'shipping_discount_tax_amount']
555
+ shipping_discount_tax_amt: FloatOrNone2Zero = Field(validation_alias="shipping_discount_tax_amount")
556
+ # 亚马逊积分抵付款金额 (日本站) [原字段 'points_monetary_value_amount']
557
+ points_discount_amt: FloatOrNone2Zero = Field(validation_alias="points_monetary_value_amount")
558
+ # 卖家货到付款服务费折扣金额 (Cash On Delivery) [原字段 'cod_fee_discount_amount']
559
+ cod_service_discount_amt: FloatOrNone2Zero= Field(validation_alias="cod_fee_discount_amount")
560
+ # 卖家总折扣金额 [原字段 'promotion_amount']
561
+ total_discount_amt: FloatOrNone2Zero = Field(validation_alias="promotion_amount")
562
+ # 卖家总代扣税费 [原字段 'tax_amount']
563
+ withheld_tax_amt: FloatOrNone2Zero = Field(validation_alias="tax_amount")
564
+ # 卖家总代扣税费是否为预估值 (0: 否, 1: 是) [原字段 'item_tax_amount_estimated']
565
+ withheld_tax_amt_estimated: int = Field(validation_alias="item_tax_amount_estimated")
566
+ # 亚马逊FBA配送费用 [原字段 'fba_shipment_amount']
567
+ fulfillment_fee: FloatOrNone2Zero = Field(validation_alias="fba_shipment_amount")
568
+ # 亚马逊FBA配送费用是否为预估值 (0: 否, 1: 是) [原字段 'fba_shipment_amount_estimated']
569
+ fulfillment_fee_estimated: int = Field(validation_alias="fba_shipment_amount_estimated")
570
+ # 亚马逊销售佣金 [原字段 'commission_amount']
571
+ referral_fee: FloatOrNone2Zero = Field(validation_alias="commission_amount")
572
+ # 亚马逊销售佣金是否为预估值 (0: 否, 1: 是) [原字段 'commission_amount_estimated']
573
+ referral_fee_estimated: int = Field(validation_alias="commission_amount_estimated")
574
+ # 亚马逊收取的其他费用 (如: Amazon Exlusives Program) [原字段 'other_amount']
575
+ other_fee: FloatOrNone2Zero = Field(validation_alias="other_amount")
576
+ # 用户自定义推广费用名称 (如: 推广费) [原字段 'fee_name']
577
+ user_promotion_type: str = Field(validation_alias="fee_name")
578
+ # 用户自定义推广费用货币代码 [原字段 'fee_currency']
579
+ user_promotion_currency_code: str = Field(validation_alias="fee_currency")
580
+ # 用户自定义推广费用货币符号 [原字段 'fee_icon']
581
+ user_promotion_currency_icon: str = Field(validation_alias="fee_icon")
582
+ # 用户自定义推广费用本金 (原币种) [原字段 'fee_cost']
583
+ user_promotion_currency_fee: FloatOrNone2Zero = Field(validation_alias="fee_cost")
584
+ # 用户自定义推广费用本金 (店铺币种) [原字段 'fee_cost_amount']
585
+ user_promotion_fee: FloatOrNone2Zero = Field(validation_alias="fee_cost_amount")
586
+ # 商品采购头程费用金额 [原字段 'cg_transport_costs']
587
+ cost_of_logistics_amt: FloatOrNone2Zero = Field(validation_alias="cg_transport_costs")
588
+ # 商品采购成本金额 [原字段 'cg_price']
589
+ cost_of_goods_amt: FloatOrNone2Zero = Field(validation_alias="cg_price")
590
+ # 商品毛利润金额 [原字段 'profit']
591
+ profit_amt: FloatOrNone2Zero = Field(validation_alias="profit")
592
+ # 商品状况(卖家提供)[原字段 'condition_note']
593
+ item_condition: str = Field(validation_alias="condition_note")
594
+ # 商品状况ID (卖家提供) [原字段 'condition_id']
595
+ item_condition_id: str = Field(validation_alias="condition_id")
596
+ # 商品子状况ID (卖家提供) [原字段 'condition_subtype_id']
597
+ item_condition_sub_id: str = Field(validation_alias="condition_subtype_id")
598
+ # 礼品包装级别(买家提供) [原字段 'gift_wrap_level']
599
+ giftwrap_level: str = Field(validation_alias="gift_wrap_level")
600
+ # 礼品包装信息(买家提供)[原字段 'gift_message_text']
601
+ giftwap_message: str = Field(validation_alias="gift_message_text")
602
+ # 计划交货开始时间 [原字段 'scheduled_delivery_start_date']
603
+ scheduled_delivery_start_time: str = Field(validation_alias="scheduled_delivery_start_date")
604
+ # 计划交货结束时间 [原字段 'scheduled_delivery_end_date']
605
+ scheduled_delivery_end_time: str = Field(validation_alias="scheduled_delivery_end_date")
606
+ # 商品自定义JSON数据
607
+ customized_json: str
608
+ # fmt: on
609
+
610
+
611
+ class OrderDetail(BaseModel):
612
+ """平台订单详情.
613
+
614
+ 包含订单的所有字段, 以及商品的详细信息.
615
+ """
616
+
617
+ # fmt: off
618
+ # 领星店铺ID (Seller.sid)
619
+ sid: int
620
+ # 亚马逊订单ID
621
+ amazon_order_id: str
622
+ # 销售渠道 (如: "Amazon.com")
623
+ sales_channel: str
624
+ # 配送方式 ("AFN" 或 "MFN")
625
+ fulfillment_channel: str
626
+ # 订单类型
627
+ order_type: str
628
+ # 订单状态
629
+ order_status: str
630
+ # 是否为退货订单 (0: 否, 1: 是)
631
+ is_return_order: int
632
+ # 退货订单的状态 (0: 未退货, 1: 退货中, 2: 完成退货/退款, 3: 被标记为领星本地的退货订单) [原字段 'is_return']
633
+ return_order_status: int = Field(validation_alias="is_return")
634
+ # 是否为换货订单 (0: 否, 1: 是)
635
+ is_replacement_order: int
636
+ # 换货订单的状态 (0: 未换货, 1: 完成换货) [原字段 'is_replaced_order']
637
+ replacement_order_status: int = Field(validation_alias="is_replaced_order")
638
+ # 是否为促销折扣订单 (0: 否, 1: 是) [原字段 'is_promotion']
639
+ # 当 OrderDetailItem.promotion_discount_amt > 0 时,
640
+ # 此字段为 1, 其他 discount_amt 不计做 promotioin 类型
641
+ is_promotion_order: int = Field(validation_alias="is_promotion")
642
+ # 是否为B2B订单 (0: 否, 1: 是) [原字段 'is_business_order']
643
+ is_b2b_order: int = Field(validation_alias="is_business_order")
644
+ # 是否为Prime订单 (0: 否, 1: 是) [原字段 'is_prime']
645
+ is_prime_order: int = Field(validation_alias="is_prime")
646
+ # 是否为优先配送订单 (0: 否, 1: 是)
647
+ is_premium_order: int
648
+ # 是否为多渠道配送订单 (0: 否, 1: 是)
649
+ is_mcf_order: int
650
+ # 是否被用户标记为领星本地的推广订单 (0: 否, 1: 是) [原字段 'is_assessed']
651
+ is_user_promotion_order: int = Field(validation_alias="is_assessed")
652
+ # 订单已发货数量 [原字段 'number_of_items_shipped']
653
+ shipped_qty: IntOrNone2Zero = Field(validation_alias="number_of_items_shipped")
654
+ # 订单未发货数量 [原字段 'number_of_items_unshipped']
655
+ unshipped_qty: IntOrNone2Zero = Field(validation_alias="number_of_items_unshipped")
656
+ # 订单金额的货币代码 [原字段 'order_total_currency_code']
657
+ order_currency_code: str = Field(validation_alias="currency")
658
+ # 订单金额的货币图标 [原字段 'icon']
659
+ order_currency_icon: str = Field(validation_alias="icon")
660
+ # 订单销售总金额 [原字段 'order_total_amount']
661
+ order_sales_amt: FloatOrNone2Zero = Field(validation_alias="order_total_amount")
662
+ # 订单金额费用是否含税 (1: 含税, 2: 不含税) [原字段 'taxes_included']
663
+ order_tax_inclusive: int = Field(validation_alias="taxes_included")
664
+ # 订单税务分类 [原字段 'tax_classifications']
665
+ order_tax_class: str = Field(validation_alias="tax_classifications")
666
+ # 订单配送服务级别 [原字段 'ship_service_level']
667
+ shipment_service: str = Field(validation_alias="ship_service_level")
668
+ # 订单配送服务级别类型 [原字段 'shipment_service_level_category']
669
+ shipment_service_category: str = Field(validation_alias="shipment_service_level_category")
670
+ # 采购订单编号 (买家结账时输入)
671
+ purchase_order_number: str
672
+ # 付款方式 ("COD", "CVS", "Other")
673
+ payment_method: str
674
+ # 亚马逊结账 (CBA) 的自定义发货标签 [原字段 'cba_displayable_shipping_label']
675
+ cba_shipping_label: str = Field(validation_alias="cba_displayable_shipping_label")
676
+ # 买家姓名
677
+ buyer_name: str
678
+ # 买家电子邮箱
679
+ buyer_email: str
680
+ # 买家电话号码 [原字段 'phone']
681
+ buyer_phone: str = Field(validation_alias="phone")
682
+ # 买家所在国家 [原字段 'country']
683
+ buyer_country: str = Field(validation_alias="country")
684
+ # 买家所在国家代码 [原字段 'country_code']
685
+ buyer_country_code: str = Field(validation_alias="country_code")
686
+ # 买家所在省/州 [原字段 'state_or_region']
687
+ buyer_state: str = Field(validation_alias="state_or_region")
688
+ # 买家所在城市 [原字段 'city']
689
+ buyer_city: str = Field(validation_alias="city")
690
+ # 买家所在区县 [原字段 'district']
691
+ buyer_district: str = Field(validation_alias="district")
692
+ # 买家地址 [原字段 'address']
693
+ buyer_address: str = Field(validation_alias="address")
694
+ # 买家邮政编码 [原字段 'postal_code']
695
+ buyer_postcode: str = Field(validation_alias="postal_code")
696
+ # 订购时间 (UTC时间) [原字段 'purchase_date_local_utc']
697
+ purchase_time_utc: str = Field(validation_alias="purchase_date_local_utc")
698
+ # 订购时间 (站点时间) [原字段 'purchase_date_local']
699
+ purchase_time_loc: str = Field(validation_alias="purchase_date_local")
700
+ # 发货时间 (站点时间) [原字段 'shipment_date']
701
+ shipment_time_loc: str = Field(validation_alias="shipment_date")
702
+ # 最早发货时间 (UTC时间) [原字段 'earliest_ship_date_utc']
703
+ earliest_ship_time_utc: str = Field(validation_alias="earliest_ship_date_utc")
704
+ # 最早发货时间 (站点时间) [原字段 'earliest_ship_date']
705
+ earliest_ship_time_loc: str = Field(validation_alias="earliest_ship_date")
706
+ # 最晚发货时间 (时区时间) [原字段 'latest_ship_date']
707
+ latest_ship_time: str = Field(validation_alias="latest_ship_date")
708
+ # 付款确认时间 (站点时间) [原字段 'posted_date']
709
+ posted_time_loc: str = Field(validation_alias="posted_date")
710
+ # 亚马逊订单更新时间 (UTC时间) [原字段 'last_update_date_utc']
711
+ update_time_utc: str = Field(validation_alias="last_update_date_utc")
712
+ # 亚马逊订单更新时间 (站点时间) [原字段 'last_update_date']
713
+ update_time_loc: str = Field(validation_alias="last_update_date")
714
+ # 订单中的商品 [原字段 'item_list']
715
+ items: list[OrderDetailItem] = Field(validation_alias="item_list")
716
+ # fmt: on
717
+
718
+
719
+ class OrderDetails(ResponseV1):
720
+ """平台订单详情列表"""
721
+
722
+ data: list[OrderDetail]
723
+
724
+
725
+ # . Order After-Sales Order
726
+ class AfterSalesOrderRefundDetail(BaseModel):
727
+ """平台订单退款金额的详细信息."""
728
+
729
+ # 退款金额类型 (如: "Principal", "ShippingCharge", "Commission")
730
+ type: str
731
+ # 退款金额 (含货币符号) [原字段 'amount']
732
+ amt: str = Field(validation_alias="amount")
733
+
734
+
735
+ class AfterSalesOrderItem(BaseModel):
736
+ """平台售后订单中的商品."""
737
+
738
+ # fmt: off
739
+ # 售后订单唯一标, 由多个字段拼接而成 [原字段 'item_identifier']
740
+ uid: str = Field(validation_alias="item_identifier")
741
+ # 售后订单唯一标, 由uid基于md5压缩而成 [原字段 'md5_v2']
742
+ uid_md5: str = Field(validation_alias="md5_v2")
743
+ # 商品ASIN (Listing.asin)
744
+ asin: str
745
+ # 亚马逊卖家SKU (Listing.msku)
746
+ msku: str
747
+ # 领星本地商品SKU (Listing.lsku) [原字段 'local_sku']
748
+ lsku: str = Field(validation_alias="local_sku")
749
+ # 领星本地商品名称 (Listing.product_name) [原字段 'local_name']
750
+ product_name: str = Field(validation_alias="local_name")
751
+ # 商品 ASIN 链接
752
+ asin_url: str
753
+ # 商品略缩图链接 [原字段 'small_image_url']
754
+ thumbnail_url: str = Field(validation_alias="small_image_url")
755
+ # 商品标题 [原字段 'item_name']
756
+ title: str = Field(validation_alias="item_name")
757
+ # 售后类型 (如: "退款", "退货", "换货") [原字段 'after_type']
758
+ service_type: str = Field(validation_alias="after_type")
759
+ # 售后数量 [原字段 'after_quantity']
760
+ service_qty: int = Field(validation_alias="after_quantity")
761
+ # 售后原因 [原字段 'after_reason']
762
+ service_reason: str = Field(validation_alias="after_reason")
763
+ # 订单退款金额 (含货币符号) [原字段 'refund_amount']
764
+ order_refund_amt: str = Field(validation_alias="refund_amount")
765
+ # 订单退款金额详情 [原字段 'refund_amount_details']
766
+ order_refund_amt_details: list[AfterSalesOrderRefundDetail] = Field(validation_alias="refund_amount_details")
767
+ # 订单退款成本 (含货币符号) [原字段 'refund_cost']
768
+ order_refund_cost: str = Field(validation_alias="refund_cost")
769
+ # 订单退款成本详情 [原字段 'refund_cost_details']
770
+ order_refund_cost_details: list[AfterSalesOrderRefundDetail] = Field(validation_alias="refund_cost_details")
771
+ # 退货状态, 如 "Approved" [原字段 'return_status']
772
+ order_return_status: str = Field(validation_alias="return_status")
773
+ # 换货订单号
774
+ exchange_order_number: str
775
+ # LPN编码号
776
+ lpn_number: str
777
+ # RMA订单号 [原字段 'rma_order_number']
778
+ rma_number: str = Field(validation_alias="rma_order_number")
779
+ # 运单号
780
+ waybill_number: str
781
+ # 承运商
782
+ carriers: str
783
+ # 买家备注
784
+ buyer_note: str = Field(validation_alias="buyers_note")
785
+ # 库存属性
786
+ inventory_attributes: str
787
+ # 售后时间 (站点时间) [原字段 'service_time']
788
+ service_time_loc: str = Field(validation_alias="after_time")
789
+ # 售后间隔天数 [原字段 'after_interval']
790
+ service_interval_days: str = Field(validation_alias="after_interval")
791
+ # 领星订单更新时间 (北京时间) [原字段 'gmt_modified']
792
+ modify_time_cnt: str = Field(validation_alias="data_update_time")
793
+ # fmt: on
794
+
795
+
796
+ class AfterSalesOrder(BaseModel):
797
+ """平台售后订单"""
798
+
799
+ # fmt: off
800
+ # 领星店铺ID (Seller.sid)
801
+ sid: int
802
+ # 领星售后订单自增ID (非唯一键) [原字段 'id']
803
+ after_sales_id: int = Field(validation_alias="id")
804
+ # 亚马逊订单ID (Order.amazon_order_id)
805
+ amazon_order_id: str
806
+ # 关联ID
807
+ correlation_id: int
808
+ # 商品ASIN (Listing.asin)
809
+ asin: str
810
+ # 亚马逊卖家SKU (Listing.msku)
811
+ msku: str
812
+ # 店铺名称+国家 (如: "领星店铺 美国")
813
+ seller_country: str
814
+ # 是否为多渠道配送订单 (0: 默认值, 1: 普通订单, 2: 多渠道订单)
815
+ is_mcf_order: int
816
+ # 送货方式 ("FBA", "FBM")
817
+ delivery_type: str
818
+ # 售后类型 (如: ["退款","退货","换货"]) [原字段 'after_type_tag']
819
+ service_type: list[str] = Field(validation_alias="after_type_tag")
820
+ # 订单销售总金额 [原字段 'order_total_amount_number']
821
+ order_sales_amt: FloatOrNone2Zero = Field(validation_alias="order_total_amount_number")
822
+ # 订单销售总金额的货币符号 (如: "$" 或 "") [原字段 'order_total_amount_currency_code']
823
+ order_sales_currency_icon: str = Field(validation_alias="order_total_amount_currency_code")
824
+ # 订单退款总金额 [原字段 'total_refund_amount_number']
825
+ order_refund_amt: FloatOrNone2Zero = Field(validation_alias="total_refund_amount_number")
826
+ # 订单退款总金额的货币符号 (如: "$" 或 "") [原字段 'total_refund_amount_currency_code']
827
+ order_refund_currency_icon: str = Field(validation_alias="total_refund_amount_currency_code")
828
+ # 订单退款成本 [原字段 'total_refund_cost_number']
829
+ order_refund_cost_amt: FloatOrNone2Zero = Field(validation_alias="total_refund_cost_number")
830
+ # 订单退款成本的货币符号 (如: "$" 或 "") [原字段 'total_refund_cost_currency_code']
831
+ roder_refund_cost_currency_icon: str = Field(validation_alias="total_refund_cost_currency_code")
832
+ # 订购时间 (站点时间) [原字段 'purchase_time']
833
+ purchase_time_loc: str = Field(validation_alias="purchase_time")
834
+ # 售后时间 (站点时间) [原字段 'deal_time']
835
+ # 如同一个订单存在多个售后订单, 需以 items>>service_time_loc 为准
836
+ service_time_loc: str = Field(validation_alias="deal_time")
837
+ # 售后间隔天数 [原字段 'interval_days']
838
+ service_interval_days: int = Field(validation_alias="interval_days")
839
+ # 领星订单更新时间 (北京时间) [原字段 'gmt_modified']
840
+ # 如同一个订单存在多个售后订单, 需以 items>>modify_time_cnt 为准
841
+ modify_time_cnt: str = Field(validation_alias="gmt_modified")
842
+ # 售后订单中的商品列表 [原字段 'item_list']
843
+ items: list[AfterSalesOrderItem] = Field(validation_alias="item_list")
844
+ # fmt: on
845
+
846
+
847
+ class AfterSalesOrders(ResponseV1):
848
+ """平台售后订单列表."""
849
+
850
+ data: list[AfterSalesOrder]
851
+
852
+
853
+ # . Order MCF Order
854
+ class McfOrderItem(BaseModel):
855
+ """多渠道订单中的商品"""
856
+
857
+ # 商品ASIN (Listing.asin)
858
+ asin: str
859
+ # 亚马逊卖家SKU (Listing.msku)
860
+ msku: str
861
+ # 领星本地SKU (Listing.lsku) [原字段 'local_sku']
862
+ lsku: str = Field(validation_alias="local_sku")
863
+ # 亚马逊FBA自生成的商品编号 (Listing.fnsku)
864
+ fnsku: str
865
+ # 领星本地商品名称 (Listing.product_name) [原字段 'local_name']
866
+ product_name: str = Field(validation_alias="local_name")
867
+ # 商品标题 [原字段 'item_name']
868
+ title: str = Field(validation_alias="item_name")
869
+ # 商品略缩图链接 [原字段 'small_image_url']
870
+ thumbnail_url: str = Field(validation_alias="small_image_url")
871
+ # 订单商品总数量 [原字段 'quantity']
872
+ order_qty: int = Field(validation_alias="quantity")
873
+
874
+
875
+ class McfOrder(BaseModel):
876
+ """多渠道订单"""
877
+
878
+ # 领星店铺ID (Seller.sid)
879
+ sid: int
880
+ # 领星店铺名称 (Seller.name) [原字段 'store_name']
881
+ seller_name: str = Field(validation_alias="store_name")
882
+ # 订单国家 (中文)
883
+ country: str
884
+ # 多渠道亚马逊订单ID
885
+ amazon_order_id: str
886
+ # 多渠道订单配送ID [原字段 'seller_fulfillment_order_id']
887
+ fulfillment_order_id: str = Field(validation_alias="seller_fulfillment_order_id")
888
+ # 订单状态
889
+ order_status: str
890
+ # 订单备注 [原字段 'remark']
891
+ order_note: str = Field(validation_alias="remark")
892
+ # 买家名称
893
+ buyer_name: str
894
+ # 购买时间 (站点时间) [原字段 'purchase_date_local']
895
+ purchase_time_loc: str = Field(validation_alias="purchase_date_local")
896
+ # 发货时间 (UTC时间) [原字段 'ship_date_utc']
897
+ shipment_time_utc: StrOrNone2Blank = Field(validation_alias="ship_date_utc")
898
+ # 发货时间 (站点时间) [原字段 'ship_date']
899
+ shipment_time_loc: StrOrNone2Blank = Field(validation_alias="ship_date")
900
+ # 订单更新时间 (UTC时间) [原字段 'last_update_time']
901
+ update_time_utc: str = Field(validation_alias="last_update_time")
902
+ # 商品列表 [原字段 'listing_info']
903
+ items: list[McfOrderItem] = Field(validation_alias="listing_info")
904
+
905
+
906
+ class McfOrders(ResponseV1, FlattenDataRecords):
907
+ """多渠道总订单"""
908
+
909
+ data: list[McfOrder]
910
+
911
+
912
+ # . Order MCF Order Detail
913
+ class McfOrderDetailItem(BaseModel):
914
+ """多渠道订单详情中的商品"""
915
+
916
+ # 商品ASIN (Listing.asin)
917
+ asin: str
918
+ # 亚马逊卖家SKU (Listing.msku)
919
+ msku: str
920
+ # 领星本地SKU (Listing.lsku) [原字段 'local_sku']
921
+ lsku: str = Field(validation_alias="local_sku")
922
+ # 亚马逊FBA自生成的商品编号 (Listing.fnsku)
923
+ fnsku: str
924
+ # 领星本地商品名称 (Listing.product_name) [原字段 'local_name']
925
+ product_name: str = Field(validation_alias="local_name")
926
+ # 商品标题 [原字段 'item_name']
927
+ title: str = Field(validation_alias="item_name")
928
+ # 商品略缩图链接 [原字段 'small_image_url']
929
+ thumbnail_url: str = Field(validation_alias="small_image_url")
930
+ # 订单商品总数量 [原字段 'quantity']
931
+ order_qty: int = Field(validation_alias="quantity")
932
+ # 订单商品已发货数量 [原字段 'shipped_quantity']
933
+ shipped_qty: int = Field(validation_alias="shipped_quantity")
934
+ # 订单商品已取消数量 [原字段 'cancelled_quantity']
935
+ cancelled_qty: int = Field(validation_alias="cancelled_quantity")
936
+ # 订单商品不可售数量 [原字段 'unfulfillable_quantity']
937
+ unfulfillable_qty: int = Field(validation_alias="unfulfillable_quantity")
938
+
939
+
940
+ class McfOrderDetail(BaseModel):
941
+ """多渠道订单详情"""
942
+
943
+ # 领星店铺ID (Seller.sid)
944
+ sid: int
945
+ # 领星店铺名称 (Seller.name) [原字段 'store_name']
946
+ seller_name: str = Field(validation_alias="store_name")
947
+ # 多渠道亚马逊订单ID
948
+ amazon_order_id: str
949
+ # 多渠道订单配送ID [原字段 'seller_fulfillment_order_id']
950
+ fulfillment_order_id: str = Field(validation_alias="seller_fulfillment_order_id")
951
+ # 销售渠道
952
+ sales_channel: str
953
+ # 订单配送服务级别 [原字段 'speed_category']
954
+ shipment_service: str = Field(validation_alias="speed_category")
955
+ # 订单状态
956
+ order_status: str
957
+ # 订单备注 [原字段 'remark']
958
+ order_note: str = Field(validation_alias="remark")
959
+ # 订单装箱备注 [原字段 'displayable_order_comment']
960
+ order_comment: str = Field(validation_alias="displayable_order_comment")
961
+ # 买家名称
962
+ buyer_name: str
963
+ # 买家电子邮箱
964
+ buyer_email: str
965
+ # 买家电话号码 [原字段 'phone']
966
+ buyer_phone: str = Field(validation_alias="phone")
967
+ # 卖家地址 [原字段 'address_line1']
968
+ buyer_address: str = Field(validation_alias="address_line1")
969
+ # 买家邮政编码 [原字段 'postal_code']
970
+ buyer_postcode: str = Field(validation_alias="postal_code")
971
+ # 购买时间 (站点时间) [原字段 'purchase_date_local']
972
+ purchase_time_loc: str = Field(validation_alias="purchase_date_local")
973
+ # 发货时间 (UTC时间) [原字段 'ship_date_utc']
974
+ shipment_time_utc: StrOrNone2Blank = Field(validation_alias="ship_date_utc")
975
+ # 发货时间 (北京时间) [原字段 'ship_date']
976
+ shipment_time_cnt: StrOrNone2Blank = Field(validation_alias="ship_date")
977
+ # 订单详情列表
978
+ items: list[McfOrderDetailItem] = Field(validation_alias="listing_detail_info")
979
+
980
+
981
+ class McfOrderDetails(ResponseV1):
982
+ """多渠道订单详情列表"""
983
+
984
+ data: list[McfOrderDetail]
985
+
986
+
987
+ # . Order MCF Order Logistics
988
+ class McfOrderLogisticsTrackingEventAddress(BaseModel):
989
+ """多渠道订单物流追踪事件地址"""
990
+
991
+ # 追踪事件地址国家
992
+ country: StrOrNone2Blank = ""
993
+ # 追踪事件地址省/州
994
+ state: StrOrNone2Blank = ""
995
+ # 追踪事件地址城市
996
+ city: StrOrNone2Blank = ""
997
+
998
+
999
+ class McfOrderLogisticsTrackingEvent(BaseModel):
1000
+ """多渠道订单物流追踪事件"""
1001
+
1002
+ # fmt: off
1003
+ # 追踪事件
1004
+ event: StrOrNone2Blank
1005
+ # 追踪事件编码 [原字段 'eventCode']
1006
+ event_code: StrOrNone2Blank = Field(validation_alias="eventCode")
1007
+ # 追踪事件描述 [原字段 'eventDescription']
1008
+ event_description: StrOrNone2Blank = Field(validation_alias="eventDescription")
1009
+ # 追踪事件时间 (站点时间) [原字段 'eventDate']
1010
+ event_time_loc: StrOrNone2Blank = Field(validation_alias="eventDate")
1011
+ # 追踪事件地址 [原字段 'eventAddress']
1012
+ event_address: McfOrderLogisticsTrackingEventAddress = Field(validation_alias="eventAddress")
1013
+ # fmt: on
1014
+
1015
+ # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1016
+ @field_validator("event_address", mode="before")
1017
+ @classmethod
1018
+ def _validate_event_address(cls, v) -> dict | Any:
1019
+ return {} if v is None else v
1020
+
1021
+
1022
+ class McfOrderLogisticsPackageItem(BaseModel):
1023
+ """多渠道订单物流包裹中的商品"""
1024
+
1025
+ # 领星店铺ID (Seller.sid)
1026
+ sid: int
1027
+ # 亚马逊SKU (Listing.msku)
1028
+ msku: str
1029
+ # 商品标题
1030
+ title: str
1031
+ # 商品数量 [原字段 'quantity']
1032
+ item_qty: int = Field(validation_alias="quantity")
1033
+ # 包裹编码
1034
+ package_number: str
1035
+
1036
+
1037
+ class McfOrderLogisticsPackage(BaseModel):
1038
+ """多渠道订单物流包裹信息"""
1039
+
1040
+ # fmt: off
1041
+ # 承运人代码
1042
+ carrier_code: str
1043
+ # 包裹追踪码
1044
+ tracking_number: str
1045
+ # 包裹编号
1046
+ package_number: str
1047
+ # 包裹运输状态 [原字段 'current_status']
1048
+ package_status: StrOrNone2Blank = Field(validation_alias="current_status")
1049
+ # 包裹发货时间 (UTC时间) [原字段 'ship_date']
1050
+ shipment_date_utc: str = Field(validation_alias="ship_date")
1051
+ # 包裹预计到货时间 (站点时间) [原字段 'estimated_arrival_datetime']
1052
+ estimated_arrival_time: str = Field(validation_alias="estimated_arrival_datetime")
1053
+ # 包裹追踪事件列表
1054
+ tracking_events: list[McfOrderLogisticsTrackingEvent]
1055
+ # 包裹内的商品列表 [原字段 'shipItems']
1056
+ package_items: list[McfOrderLogisticsPackageItem] = Field(validation_alias="shipItems")
1057
+ # fmt: on
1058
+
1059
+ # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1060
+ @field_validator("tracking_events", mode="before")
1061
+ @classmethod
1062
+ def _validate_tracking_events(cls, v) -> list | Any:
1063
+ return [] if v is None else v
1064
+
1065
+
1066
+ class McfOrderLogisticsShipment(BaseModel):
1067
+ """多渠道订单物流信息详情"""
1068
+
1069
+ # 亚马逊货件编号
1070
+ amazon_shipment_id: str
1071
+ # 货件状态 [原字段: 'fulfillment_shipment_status']
1072
+ # ('CANCELLED_BY_FULFILLER', 'CANCELLED_BY_SELLER', 'PENDING', 'PROCESSED', 'SHIPPED')
1073
+ shipment_status: str = Field(validation_alias="fulfillment_shipment_status")
1074
+ # 预计到货时间 (站点时间) [原字段 'estimated_arrival_datetime']
1075
+ estimated_arrival_time: str = Field(validation_alias="estimated_arrival_datetime")
1076
+ # 包裹详情信息
1077
+ packages: list[McfOrderLogisticsPackage]
1078
+
1079
+
1080
+ class McfOrderLogistics(BaseModel):
1081
+ """多渠道订单物流信息"""
1082
+
1083
+ # fmt: off
1084
+ # 领星店铺ID (Seller.sid)
1085
+ sid: int
1086
+ # 领星店铺名称 (Seller.name) [原字段 'store_name']
1087
+ seller_name: str = Field(validation_alias="store_name")
1088
+ # 多渠道亚马逊订单ID
1089
+ amazon_order_id: str
1090
+ # 多渠道订单配送ID [原字段 'seller_fulfillment_order_id']
1091
+ fulfillment_order_id: str = Field(validation_alias="seller_fulfillment_order_id")
1092
+ # 销售渠道
1093
+ sales_channel: str
1094
+ # 订单配送服务级别 [原字段 'speed_category']
1095
+ shipment_service: str = Field(validation_alias="speed_category")
1096
+ # 订单状态
1097
+ order_status: str
1098
+ # 订单备注 [原字段 'remark']
1099
+ order_note: str = Field(validation_alias="remark")
1100
+ # 订单装箱备注 [原字段 'displayable_order_comment']
1101
+ order_comment: str = Field(validation_alias="displayable_order_comment")
1102
+ # 买家名称
1103
+ buyer_name: str
1104
+ # 买家电子邮箱
1105
+ buyer_email: str
1106
+ # 买家电话号码 [原字段 'phone']
1107
+ buyer_phone: str = Field(validation_alias="phone")
1108
+ # 卖家地址 [原字段 'address_line1']
1109
+ buyer_address: str = Field(validation_alias="address_line1")
1110
+ # 买家邮政编码 [原字段 'postal_code']
1111
+ buyer_postcode: str = Field(validation_alias="postal_code")
1112
+ # 购买时间 (站点时间) [原字段 'purchase_date_local']
1113
+ purchase_time_loc: str = Field(validation_alias="purchase_date_local")
1114
+ # 发货时间 (UTC时间) [原字段 'ship_date_utc']
1115
+ shipment_time_utc: StrOrNone2Blank = Field(validation_alias="ship_date_utc")
1116
+ # 发货时间 (北京时间) [原字段 'ship_date']
1117
+ shipment_time_cnt: StrOrNone2Blank = Field(validation_alias="ship_date")
1118
+ # 物流列表 [原字段 'shipment_info']
1119
+ shipments: list[McfOrderLogisticsShipment] = Field(validation_alias="shipment_info")
1120
+ # fmt: on
1121
+
1122
+
1123
+ class McfOrderLogisticsData(ResponseV1):
1124
+ """多渠道订单物流信息列表"""
1125
+
1126
+ data: list[McfOrderLogistics]
1127
+
1128
+
1129
+ # . Order MCF After-Sales Order
1130
+ class McfAfterSalesReturnItem(BaseModel):
1131
+ """多渠道售后退货订单中的商品"""
1132
+
1133
+ # 领星店铺ID (Seller.sid)
1134
+ sid: int
1135
+ # 商品ASIN (Listing.asin)
1136
+ asin: str
1137
+ # 亚马逊卖家SKU (Listing.msku)
1138
+ msku: str
1139
+ # 领星本地SKU (Listing.lsku) [原字段 'local_sku']
1140
+ lsku: str = Field(validation_alias="local_sku")
1141
+ # 领星本地商品名称 (Listing.product_name) [原字段 'name']
1142
+ product_name: str = Field(validation_alias="name")
1143
+ # 多渠道订单配送ID [原字段 'order_id']
1144
+ fulfillment_order_id: str = Field(validation_alias="order_id")
1145
+ # 退货数量 [原字段 'return_quantity']
1146
+ return_qty: IntOrNone2Zero = Field(validation_alias="return_quantity")
1147
+ # 退货状态
1148
+ return_status: str
1149
+ # 退货原因
1150
+ return_reason: str
1151
+ # 退货日期
1152
+ return_date: str
1153
+ # LNP编码号 [原字段 'lpn']
1154
+ lpn_number: str = Field(validation_alias="lpn")
1155
+ # 买家备注 [原字段 'customer_comments']
1156
+ buyer_note: str = Field(validation_alias="customer_comments")
1157
+
1158
+
1159
+ class McfAfterSalesReplacementItem(BaseModel):
1160
+ """多渠道售后换货订单中的商品"""
1161
+
1162
+ # 亚马逊卖家SKU (Listing.msku)
1163
+ msku: str
1164
+ # 领星本地商品名称 (Listing.product_name) [原字段 'name']
1165
+ product_name: str = Field(validation_alias="name")
1166
+ # 商品ASIN链接
1167
+ asin_url: str
1168
+ # 换货原因
1169
+ replacement_reason: str
1170
+ # 换货时间
1171
+ replacement_date: str = Field(validation_alias="shipment_date")
1172
+
1173
+
1174
+ class McfAfterSalesService(BaseModel):
1175
+ """多渠道售后服务详情"""
1176
+
1177
+ # fmt: off
1178
+ # 退货订单 [原字段 'return_tab']
1179
+ return_items: list[McfAfterSalesReturnItem] = Field(validation_alias="return_tab")
1180
+ # 换货订单 [原字段 'replace_tab']
1181
+ replacement_items: list[McfAfterSalesReplacementItem] = Field(validation_alias="replace_tab")
1182
+ # fmt: on
1183
+
1184
+
1185
+ class McfAfterSalesOrder(BaseModel):
1186
+ """多渠道售后订单"""
1187
+
1188
+ # fmt: off
1189
+ # 领星店铺ID (Seller.sid)
1190
+ sid: int
1191
+ # 领星店铺名称 (Seller.name) [原字段 'store_name']
1192
+ seller_name: str = Field(validation_alias="store_name")
1193
+ # 多渠道亚马逊订单ID
1194
+ amazon_order_id: str
1195
+ # 多渠道订单配送ID [原字段 'seller_fulfillment_order_id']
1196
+ fulfillment_order_id: str = Field(validation_alias="seller_fulfillment_order_id")
1197
+ # 销售渠道
1198
+ sales_channel: str
1199
+ # 订单配送服务级别 [原字段 'speed_category']
1200
+ shipment_service: str = Field(validation_alias="speed_category")
1201
+ # 订单状态
1202
+ order_status: str
1203
+ # 订单备注 [原字段 'remark']
1204
+ order_note: str = Field(validation_alias="remark")
1205
+ # 订单装箱备注 [原字段 'displayable_order_comment']
1206
+ order_comment: str = Field(validation_alias="displayable_order_comment")
1207
+ # 买家名称
1208
+ buyer_name: str
1209
+ # 买家电子邮箱
1210
+ buyer_email: str
1211
+ # 买家电话号码 [原字段 'phone']
1212
+ buyer_phone: str = Field(validation_alias="phone")
1213
+ # 卖家地址 [原字段 'address_line1']
1214
+ buyer_address: str = Field(validation_alias="address_line1")
1215
+ # 买家邮政编码 [原字段 'postal_code']
1216
+ buyer_postcode: str = Field(validation_alias="postal_code")
1217
+ # 购买时间 (站点时间) [原字段 'purchase_date_local']
1218
+ purchase_time_loc: str = Field(validation_alias="purchase_date_local")
1219
+ # 发货时间 (UTC时间) [原字段 'ship_date_utc']
1220
+ shipment_time_utc: StrOrNone2Blank = Field(validation_alias="ship_date_utc")
1221
+ # 发货时间 (北京时间) [原字段 'ship_date']
1222
+ shipment_time_cnt: StrOrNone2Blank = Field(validation_alias="ship_date")
1223
+ # 售后服务详情 [原字段 'order_return_replace_tab']
1224
+ after_sales_service: McfAfterSalesService = Field(validation_alias="order_return_replace_tab")
1225
+ # fmt: on
1226
+
1227
+
1228
+ class McfAfterSalesOrders(ResponseV1):
1229
+ """多渠道售后订单列表"""
1230
+
1231
+ data: list[McfAfterSalesOrder]
1232
+
1233
+
1234
+ # . Order MCF Order Transaction
1235
+ class McfOrderTransactionEventDetail(BaseModel):
1236
+ """平台订单退款金额的详细信息."""
1237
+
1238
+ # 事件类型 (如: "FBAPerUnitFulfillmentFee", "FBATransportationFee")
1239
+ type: str
1240
+ # 事件金额 (含货币符号) [原字段 'currencyAmount']
1241
+ amt: str = Field(validation_alias="currencyAmount")
1242
+
1243
+
1244
+ class McfOrderTransactionEvent(BaseModel):
1245
+ """多渠道订单交易事件"""
1246
+
1247
+ # fmt: off
1248
+ # 领星店铺ID (Seller.sid)
1249
+ sid: int
1250
+ # 亚马逊卖家SKU (Listing.msku) [原字段 'sellerSku']
1251
+ msku: StrOrNone2Blank = Field(validation_alias="sellerSku")
1252
+ # 领星本地SKU (Listing.lsku) [原字段 'sku']
1253
+ lsku: StrOrNone2Blank = Field(validation_alias="sku")
1254
+ # 领星本地商品名称 (Listing.product_name) [原字段 'productName']
1255
+ product_name: StrOrNone2Blank = Field(validation_alias="productName")
1256
+ # 结算编号 [原字段 'fid']
1257
+ transaction_id: str = Field(validation_alias="fid")
1258
+ # 交易事件类型 [原字段 'eventType']
1259
+ event_type: str = Field(validation_alias="eventType")
1260
+ # 交易事件商品数量 [原字段 'quantity']
1261
+ event_qty: IntOrNone2Zero = Field(validation_alias="quantity")
1262
+ # 交易事件货币代码 [原字段 'currencyCode']
1263
+ event_currency_code: str = Field(validation_alias="currencyCode")
1264
+ # 交易事件货币金额 (含货币符号) [原字段 'totalCurrencyAmount']
1265
+ event_amt: str = Field(validation_alias="totalCurrencyAmount")
1266
+ # 交易事件详情 [原字段 'costDetails']
1267
+ event_details: list[McfOrderTransactionEventDetail] = Field(validation_alias="costDetails")
1268
+ # 交易付款确认时间 (时区时间) [原字段 'postedDateLocale']
1269
+ posted_time: str = Field(validation_alias="postedDateLocale")
1270
+ # 交易转账时间 (时区时间) [原字段 'fundTransferDateLocale']
1271
+ fund_transfer_time: str = Field(validation_alias="fundTransferDateLocale")
1272
+ # fmt: on
1273
+
1274
+
1275
+ class McfOrderTransaction(BaseModel):
1276
+ """多渠道订单交易信息"""
1277
+
1278
+ # fmt: off
1279
+ # 多渠道订单总交易金额 (包含货币符号) [原字段 'totalCurrencyAmounts']
1280
+ transaction_amt: StrOrNone2Blank = Field(validation_alias="totalCurrencyAmounts")
1281
+ # 多渠道订单交易事件列表 [原字段 'list']
1282
+ transaction_events: list[McfOrderTransactionEvent] = Field(validation_alias="list")
1283
+ # fmt: on
1284
+
1285
+
1286
+ class McfOrderTransactionData(ResponseV1):
1287
+ """多渠道订单交易信息列表"""
1288
+
1289
+ data: McfOrderTransaction
1290
+
1291
+
1292
+ # 销售 - 自发货管理 --------------------------------------------------------------------------------------------------------------
1293
+ # . FBM Order
1294
+ class FbmOrder(BaseModel):
1295
+ """自发货订单"""
1296
+
1297
+ # 自发货订单号
1298
+ order_number: str
1299
+ # 订单状态 (1: 同步中, 2: 已发货, 3: 未付款, 4: 待审核, 5: 待发货, 6: 不发货) [原字段 'status']
1300
+ order_status: str = Field(validation_alias="status")
1301
+ # 订单类型 [原字段 'order_from']
1302
+ order_type: str = Field(validation_alias="order_from")
1303
+ # 平台订单ID列表
1304
+ platform_order_ids: list[str] = Field(validation_alias="platform_list")
1305
+ # 订单目的地国家代码
1306
+ country_code: str
1307
+ # 物流类型ID
1308
+ logistics_type_id: str
1309
+ # 物流类型名称 [原字段 'logistics_type_name']
1310
+ logistics_type: str = Field(validation_alias="logistics_type_name")
1311
+ # 物流商ID
1312
+ logistics_provider_id: str
1313
+ # 物流商名称 [原字段 'logistics_provider_name']
1314
+ logistics_provider: str = Field(validation_alias="logistics_provider_name")
1315
+ # 发货仓库ID [原字段 'wid']
1316
+ warehouse_id: IntOrNone2Zero = Field(validation_alias="wid")
1317
+ # 发货仓库名称 [原字段 'warehouse_name']
1318
+ warehouse: str = Field(validation_alias="warehouse_name")
1319
+ # 买家备注 [原字段 'customer_comment']
1320
+ buyer_note: str = Field(validation_alias="customer_comment")
1321
+ # 订购时间
1322
+ purchase_time: str
1323
+
1324
+
1325
+ class FbmOrders(ResponseV1):
1326
+ """自发货订单列表"""
1327
+
1328
+ data: list[FbmOrder]
1329
+
1330
+
1331
+ # . FBM Order Detail
1332
+ class FbmOrderDetailItem(BaseModel):
1333
+ """自发货订单详情中的商品"""
1334
+
1335
+ # fmt: off
1336
+ # 平台订单ID
1337
+ platform_order_id: str
1338
+ # 订单详情的商品单号 [原字段 'order_item_no']
1339
+ order_item_id: str = Field(validation_alias="order_item_no")
1340
+ # 亚马逊卖家SKU (Listing.msku) [原字段 'MSKU']
1341
+ msku: str = Field(validation_alias="MSKU")
1342
+ # 领星本地SKU (Listing.lsku) [原字段 'sku']
1343
+ lsku: str = Field(validation_alias="sku")
1344
+ # 领星本地商品名称 (Listing.product_name)
1345
+ product_name: str
1346
+ # 商品图片链接 [原字段 'pic_url']
1347
+ image_url: str = Field(validation_alias="pic_url")
1348
+ # 商品单价货币代码
1349
+ currency_code: str
1350
+ # 商品单价 [原字段 'item_unit_price']
1351
+ item_price: float = Field(validation_alias="item_unit_price")
1352
+ # 订单商品数量 [原字段 'quality']
1353
+ order_qty: int = Field(validation_alias="quality")
1354
+ # 订单备注 [原字段 'customization']
1355
+ order_note: str = Field(validation_alias="customization")
1356
+ # 附件信息列表 [原字段 'newAttachments']
1357
+ attachments: list[base_schema.AttachmentFile] = Field(validation_alias="newAttachments")
1358
+ # fmt: on
1359
+
1360
+
1361
+ class FbmOrderDetail(BaseModel):
1362
+ """自发货订单详情"""
1363
+
1364
+ # fmt: off
1365
+ # 领星店铺名称 (Seller.name) [原字段: 'shop_name']
1366
+ seller_name: str = Field(validation_alias="shop_name")
1367
+ # 自发货订单号
1368
+ order_number: str
1369
+ # 订单状态 (1: 同步中, 2: 已发货, 3: 未付款, 4: 待审核, 5: 待发货, 6: 不发货)
1370
+ order_status: str
1371
+ # 订单类型 [原字段 'order_from_name']
1372
+ order_type: str = Field(validation_alias="order_from_name")
1373
+ # 订单平台 [原字段 'platform']
1374
+ order_platform: str = Field(validation_alias="platform")
1375
+ # 物流类型ID
1376
+ logistics_type_id: str
1377
+ # 物流类型名称 [原字段 'logistics_type_name']
1378
+ logistics_type: str = Field(validation_alias="logistics_type_name")
1379
+ # 物流商ID
1380
+ logistics_provider_id: str
1381
+ # 物流商名称 [原字段 'logistics_provider_name']
1382
+ logistics_provider: str = Field(validation_alias="logistics_provider_name")
1383
+ # 发货仓库ID [原字段 'wid']
1384
+ warehouse_id: IntOrNone2Zero = Field(validation_alias="wid")
1385
+ # 发货仓库名称 [原字段 'warehouse_name']
1386
+ warehouse: str = Field(validation_alias="warehouse_name")
1387
+ # 订单配送服务级别 [原字段 'buyer_choose_express']
1388
+ shipment_service: str = Field(validation_alias="buyer_choose_express")
1389
+ # 买家留言
1390
+ buyer_message: str
1391
+ # 买家备注 [原字段 'customer_comment']
1392
+ buyer_note: str = Field(validation_alias="customer_comment")
1393
+ # 订购时间
1394
+ purchase_time: str
1395
+ # 物流跟踪码
1396
+ tracking_number: str
1397
+ # 包裹预估重量 [原字段 'logistics_pre_weight']
1398
+ package_est_weight: FloatOrNone2Zero = Field(validation_alias="logistics_pre_weight")
1399
+ # 包裹预估重量单位 [原字段 'logistics_pre_weight_unit']
1400
+ package_est_weight_unit: str = Field(validation_alias="logistics_pre_weight_unit")
1401
+ # 包裹预估长度 [原字段 'package_length']
1402
+ package_est_length: FloatOrNone2Zero = Field(validation_alias="package_length")
1403
+ # 包裹预估宽度 [原字段 'package_width']
1404
+ package_est_width: FloatOrNone2Zero = Field(validation_alias="package_width")
1405
+ # 包裹预估高度 [原字段 'package_height']
1406
+ package_est_height: FloatOrNone2Zero = Field(validation_alias="package_height")
1407
+ # 包裹预估尺寸单位 [原字段 'package_unit']
1408
+ package_est_dimension_unit: str = Field(validation_alias="package_unit")
1409
+ # 预估物流费用 [原字段 'logistics_pre_price']
1410
+ logistics_est_amt: FloatOrNone2Zero = Field(validation_alias="logistics_pre_price")
1411
+ # 包裹实际重量 [原字段: 'pkg_real_weight']
1412
+ package_weight: FloatOrNone2Zero = Field(validation_alias="pkg_real_weight")
1413
+ # 包裹实际重量单位 [原字段: 'pkg_real_weight_unit']
1414
+ package_weight_unit: str = Field(validation_alias="pkg_real_weight_unit")
1415
+ # 包裹实际长度 [原字段: 'pkg_length']
1416
+ package_length: FloatOrNone2Zero = Field(validation_alias="pkg_length")
1417
+ # 包裹实际宽度 [原字段: 'pkg_width']
1418
+ package_width: FloatOrNone2Zero = Field(validation_alias="pkg_width")
1419
+ # 包裹实际高度 [原字段: 'pkg_height']
1420
+ package_height: FloatOrNone2Zero = Field(validation_alias="pkg_height")
1421
+ # 包裹实际尺寸单位 [原字段: 'pkg_size_unit']
1422
+ package_dimension_unit: str = Field(validation_alias="pkg_size_unit")
1423
+ # 实际物流费用货币代码 [原字段: 'logistics_freight_currency_code']
1424
+ logistics_currency_code: str = Field(validation_alias="logistics_freight_currency_code")
1425
+ # 实际物流费用 [原字段: 'logistics_freight']
1426
+ logistics_amt: FloatOrNone2Zero = Field(validation_alias="logistics_freight")
1427
+ # 总客付运费 [原字段 'total_shipping_price']
1428
+ shipping_amt: FloatOrNone2Zero = Field(validation_alias="total_shipping_price")
1429
+ # 订单销售金额 [原字段 'order_price_amount']
1430
+ sales_amt: FloatOrNone2Zero = Field(validation_alias="order_price_amount")
1431
+ # 订单毛利润金额 [原字段 'gross_profit_amount']
1432
+ profit_amt: FloatOrNone2Zero = Field(validation_alias="gross_profit_amount")
1433
+ # 订单商品列表 [原字段: 'order_item']
1434
+ items: list[FbmOrderDetailItem] = Field(validation_alias="order_item")
1435
+ # fmt: on
1436
+
1437
+
1438
+ class FbmOrderDetailData(ResponseV1):
1439
+ """自发货订单详情列表"""
1440
+
1441
+ data: FbmOrderDetail
1442
+
1443
+
1444
+ # 销售 - 促销管理 ----------------------------------------------------------------------------------------------------------------
1445
+ # . Promotion Coupon
1446
+ class PromotionCoupon(BaseModel):
1447
+ """促销 - 优惠券"""
1448
+
1449
+ # 领星店铺ID (Seller.sid)
1450
+ sid: int
1451
+ # 优惠券名称
1452
+ coupon_name: str = Field(validation_alias="name")
1453
+ # 优惠券状态 [原字段 'origin_status']
1454
+ # (ACTIVE, CANCELED, EXPIRED, RUNNING, NEEDS ACTION, EXPIRING SOON, SUBMITTED, FAILED)
1455
+ status: str = Field(validation_alias="origin_status")
1456
+ # 优惠券备注 [原字段 'remark']
1457
+ note: str = Field(validation_alias="remark")
1458
+ # 优惠券折扣百分比 [原字段 'discount']
1459
+ discount_pct: str = Field(validation_alias="discount")
1460
+ # 货币符号
1461
+ currency_icon: str
1462
+ # 优惠券预算金额 [原字段 'budget']
1463
+ budget_amt: str = Field(validation_alias="budget")
1464
+ # 优惠券费用 [原字段 'cost']
1465
+ coupon_fee: FloatOrNone2Zero = Field(validation_alias="cost")
1466
+ # 优惠券领取数量 [原字段 'draw_quantity']
1467
+ claimed_qty: IntOrNone2Zero = Field(validation_alias="draw_quantity")
1468
+ # 优惠券兑换数量 [原字段 'exchange_quantity']
1469
+ redeemed_qty: IntOrNone2Zero = Field(validation_alias="exchange_quantity")
1470
+ # 优惠券兑换率 (redeemed_qty / claimed_qty) [原字段 'exchange_rate']
1471
+ redemption_rate: FloatOrNone2Zero = Field(validation_alias="exchange_rate")
1472
+ # 优惠券期间的商品销售数量 [原字段 'sales_volume']
1473
+ sales_qty: IntOrNone2Zero = Field(validation_alias="sales_volume")
1474
+ # 优惠券期间的商品销售金额 [原字段 'sales_amount']
1475
+ sales_amt: FloatOrNone2Zero = Field(validation_alias="sales_amount")
1476
+ # 优惠券的开始时间 (站点时间) [原字段 'promotion_start_time']
1477
+ start_time: str = Field(validation_alias="promotion_start_time")
1478
+ # 优惠券的结束时间 (站点时间) [原字段 'promotion_end_time']
1479
+ end_time: str = Field(validation_alias="promotion_end_time")
1480
+ # 首次同步时间 (站点时间)
1481
+ first_sync_time: str
1482
+ # 最后同步时间 (站点时间)
1483
+ last_sync_time: str
1484
+
1485
+
1486
+ class PromotionCoupons(ResponseV1):
1487
+ """促销 - 优惠券列表"""
1488
+
1489
+ data: list[PromotionCoupon]
1490
+
1491
+
1492
+ # . Promotion Deal
1493
+ class PromotionDeal(BaseModel):
1494
+ """促销 - Deal"""
1495
+
1496
+ # fmt: off
1497
+ # 领星店铺ID (Seller.sid)
1498
+ sid: int
1499
+ # Deal 类型 (1: Best Deal, 2: Lightning Deal) [原字段 'promotion_type']
1500
+ deal_type: int = Field(validation_alias="promotion_type")
1501
+ # Deal 名称 [原字段 'description']
1502
+ deal_name: str = Field(validation_alias="description")
1503
+ # Deal 状态 [原字段 'origin_status']
1504
+ # (ACTIVE, CANCELED, EXPIRED, APPROVED, SUPPRESSED, DISMISSED, DRAFT ENDED)
1505
+ status: str = Field(validation_alias="origin_status")
1506
+ # Deal 备注 [原字段 'remark']
1507
+ note: str = Field(validation_alias="remark")
1508
+ # Deal 商品标题 [原字段 'name']
1509
+ product_title: str = Field(validation_alias="name")
1510
+ # Deal 商品数量 [原字段 'product_quantity']
1511
+ product_count: IntOrNone2Zero = Field(validation_alias="product_quantity")
1512
+ # 货币符号
1513
+ currency_icon: str
1514
+ # Deal 费用 [原字段 'seckill_fee']
1515
+ deal_fee: FloatOrNone2Zero = Field(validation_alias="seckill_fee")
1516
+ # 参与 Deal 的商品库存数量 [原字段 'participate_inventory']
1517
+ deal_qty: IntOrNone2Zero = Field(validation_alias="participate_inventory")
1518
+ # Deal 期间的商品销售数量 [原字段 'sales_volume']
1519
+ sales_qty: IntOrNone2Zero = Field(validation_alias="sales_volume")
1520
+ # Deal 期间参促库存的转化率 (sales_qty / deal_qty * 100) [原字段 'sold_rate']
1521
+ sales_rate: FloatOrNone2Zero = Field(validation_alias="sold_rate")
1522
+ # Deal 期间商品详情页的浏览量 [原字段 'page_view']
1523
+ page_views: IntOrNone2Zero = Field(validation_alias="page_view")
1524
+ # Deal 期间浏览至购买的转化率 (sales_qty / page_views * 100) [原字段 'exchange_rate']
1525
+ conversion_rate: FloatOrNone2Zero = Field(validation_alias="exchange_rate")
1526
+ # Deal 期间的商品销售金额 [原字段 'sales_amount']
1527
+ sales_amt: FloatOrNone2Zero = Field(validation_alias="sales_amount")
1528
+ # Deal 开始时间 (站点时间) [原字段 'promotion_start_time']
1529
+ start_time: str = Field(validation_alias="promotion_start_time")
1530
+ # Deal 结束时间 (站点时间) [原字段 'promotion_end_time']
1531
+ end_time: str = Field(validation_alias="promotion_end_time")
1532
+ # 首次同步时间 (站点时间)
1533
+ first_sync_time: str
1534
+ # 最后同步时间 (站点时间)
1535
+ last_sync_time: str
1536
+ # fmt: on
1537
+
1538
+
1539
+ class PromotionDeals(ResponseV1):
1540
+ """促销 - Deal 列表"""
1541
+
1542
+ data: list[PromotionDeal]
1543
+
1544
+
1545
+ # . Promotion Activity
1546
+ class PromotionActivity(BaseModel):
1547
+ """促销 - 活动"""
1548
+
1549
+ # fmt: off
1550
+ # 领星店铺ID (Seller.sid)
1551
+ sid: int
1552
+ # 促销活动类型
1553
+ # (0: 未定义类型, 3: 买一赠一, 4: 购买折扣, 5: 一口价, 8: 社媒促销)
1554
+ promotion_type: int
1555
+ # 促销活动名称 [原字段 'name']
1556
+ promotion_name: str = Field(validation_alias="name")
1557
+ # 促销活动状态 [原字段 'origin_status']
1558
+ # (ACTIVE, CANCELED, EXPIRED, PENDING)
1559
+ status: str = Field(validation_alias="origin_status")
1560
+ # 促销活动备注 [原字段 'remark']
1561
+ note: str = Field(validation_alias="remark")
1562
+ # 促销活动优惠码 [原字段 'promotion_code']
1563
+ code: str = Field(validation_alias="promotion_code")
1564
+ # 促销活动参与条件 [原字段 'participate_condition']
1565
+ requirement: str = Field(validation_alias="participate_condition")
1566
+ # 促销活动参与条件数值 [原字段 'participate_condition_num']
1567
+ requirement_value: IntOrNone2Zero = Field(validation_alias="participate_condition_num")
1568
+ # 促销活动优惠内容 [原字段 'buyer_gets']
1569
+ offer: str = Field(validation_alias="buyer_gets")
1570
+ # 促销活动优惠内容数值 [原字段 'buyer_gets_num']
1571
+ offer_value: IntOrNone2Zero = Field(validation_alias="buyer_gets_num")
1572
+ # 促销活动需购买商品
1573
+ purchase_product: str
1574
+ # 促销活动可享受折扣商品
1575
+ discount_product: str
1576
+ # 促销活动排除商品
1577
+ exclude_product: str
1578
+ # 促销活动是否限制兑换量 (0: 否, 1: 是) [原字段 'exchange_limit']
1579
+ limited: int = Field(validation_alias="exchange_limit")
1580
+ # 货币符号
1581
+ currency_icon: str
1582
+ # 促销活动期间的商品销售数量 [原字段 'sales_volume']
1583
+ sales_qty: IntOrNone2Zero = Field(validation_alias="sales_volume")
1584
+ # 促销活动期间的商品销售金额 [原字段 'sales_amount']
1585
+ sales_amt: FloatOrNone2Zero = Field(validation_alias="sales_amount")
1586
+ # 促销活动开始时间 (站点时间) [原字段 'promotion_start_time']
1587
+ start_time: str = Field(validation_alias="promotion_start_time")
1588
+ # 促销活动结束时间 (站点时间) [原字段 'promotion_end_time']
1589
+ end_time: str = Field(validation_alias="promotion_end_time")
1590
+ # 首次同步时间 (站点时间)
1591
+ first_sync_time: str
1592
+ # 最后同步时间 (站点时间)
1593
+ last_sync_time: str
1594
+ # fmt: on
1595
+
1596
+
1597
+ class PromotionActivities(ResponseV1):
1598
+ """促销 - 活动列表"""
1599
+
1600
+ data: list[PromotionActivity]
1601
+
1602
+
1603
+ # . Promotion Discount
1604
+ class PromotionDiscount(BaseModel):
1605
+ """促销 - 价格折扣"""
1606
+
1607
+ # 领星店铺ID (Seller.sid)
1608
+ sid: int
1609
+ # 折扣名称 [原字段 'name']
1610
+ discount_name: str = Field(validation_alias="name")
1611
+ # 折扣状态 [原字段 'origin_status']
1612
+ # (ACTIVE, CANCELED, EXPIRED, AWAITTING, SCHEDULED, NEEDS ATTENTION)
1613
+ status: str = Field(validation_alias="origin_status")
1614
+ # 折扣备注 [原字段 'remark']
1615
+ note: str = Field(validation_alias="remark")
1616
+ # 货币符号
1617
+ currency_icon: str
1618
+ # 参与折扣的商品数量
1619
+ product_quantity: IntOrNone2Zero
1620
+ # 折扣开始时间 (站点时间) [原字段 'promotion_start_time']
1621
+ start_time: str = Field(validation_alias="promotion_start_time")
1622
+ # 折扣结束时间 (站点时间) [原字段 'promotion_end_time']
1623
+ end_time: str = Field(validation_alias="promotion_end_time")
1624
+ # 首次同步时间 (站点时间)
1625
+ first_sync_time: str
1626
+ # 最后同步时间 (站点时间)
1627
+ last_sync_time: str
1628
+ # 更细时间 (站点时间)
1629
+ update_time: StrOrNone2Blank
1630
+
1631
+
1632
+ class PromotionDiscounts(ResponseV1):
1633
+ """促销 - 价格折扣列表"""
1634
+
1635
+ data: list[PromotionDiscount]
1636
+
1637
+
1638
+ # . Promotion On Listing
1639
+ class PromotionOnListingDetail(BaseModel):
1640
+ """促销 - Listing的促销信息详情"""
1641
+
1642
+ # 促销ID
1643
+ promotion_id: str
1644
+ # 促销名称 [原字段: 'name']
1645
+ promotion_name: str = Field(validation_alias="name")
1646
+ # 促销状态 [原字段 'origin_status']
1647
+ status: str = Field(validation_alias="origin_status")
1648
+ # 促销状态码 (0: 其他, 1: 进行中, 2: 已过期, 3: 未开始) [原字段 'status']
1649
+ status_code: int = Field(validation_alias="status")
1650
+ # 促销类型 (1: 优惠券, 2: Deal, 3 活动, 4 价格折扣) [原字段 'category']
1651
+ promotion_type: int = Field(validation_alias="category")
1652
+ # 促销类型文本 [原字段 'category_text']
1653
+ promotion_type_text: str = Field(validation_alias="category_text")
1654
+ # 促销子类型 (0: 未定义类型, 3: 买一赠一, 4: 购买折扣, 5: 一口价, 8: 社媒促销) [原字段 'promotion_type']
1655
+ promotion_sub_type: int = Field(validation_alias="promotion_type")
1656
+ # 促销子类型文本 [原字段 'promotion_type_text']
1657
+ promotion_sub_type_text: str = Field(validation_alias="promotion_type_text")
1658
+ # 折扣金额/折扣价格 [原字段 'discount_price']
1659
+ discount_amt: FloatOrNone2Zero = Field(validation_alias="discount_price")
1660
+ # 折扣百分比/售价百分比 [原字段 'discount_rate']
1661
+ discount_pct: FloatOrNone2Zero = Field(validation_alias="discount_rate")
1662
+ # 促销开始时间 (站点时间) [原字段 'promotion_start_time']
1663
+ start_time: str = Field(validation_alias="promotion_start_time")
1664
+ # 促销结束时间 (站点时间) [原字段 'promotion_end_time
1665
+ end_time: str = Field(validation_alias="promotion_end_time")
1666
+
1667
+
1668
+ class PromotionOnListing(BaseModel):
1669
+ """促销 - Listing的促销信息"""
1670
+
1671
+ # fmt: off
1672
+ # 领星店铺ID (Seller.sid)
1673
+ sid: int
1674
+ # 领星店铺名称 (Seller.name) [原字段 'store_name']
1675
+ seller_name: str = Field(validation_alias="store_name")
1676
+ # 国家 (中文) [原字段 'region_name']
1677
+ country: str = Field(validation_alias="region_name")
1678
+ # 商品ASIN
1679
+ asin: str
1680
+ # 亚马逊卖家SKU (Listing.msku) [原字段 'seller_sku']
1681
+ msku: str = Field(validation_alias="seller_sku")
1682
+ # 商品标题 [原字段 'item_name']
1683
+ title: str = Field(validation_alias="item_name")
1684
+ # 商品链接
1685
+ asin_url: str
1686
+ # 商品略缩图链接 [原字段 'small_image_url']
1687
+ thumbnail_url: str = Field(validation_alias="small_image_url")
1688
+ # 促销活动叠加数量 [原字段 'promotion_combo_num']
1689
+ promotion_stacks: IntOrNone2Zero = Field(validation_alias="promotion_combo_num")
1690
+ # 货币符号
1691
+ currency_icon: str
1692
+ # 销售价格
1693
+ sales_price: FloatOrNone2Zero
1694
+ # 销售价格 (美金)
1695
+ sales_price_usd: FloatOrNone2Zero
1696
+ # 最低折扣价格 [原字段 'discount_price_min']
1697
+ discount_min_price: FloatOrNone2Zero = Field(validation_alias="discount_price_min")
1698
+ # 平均折扣金额 [原字段 'avg_deal_price']
1699
+ discount_avg_amt: FloatOrNone2Zero = Field(validation_alias="avg_deal_price")
1700
+ # 平均折扣百分比 [原字段 'discount_rate_rate']
1701
+ discount_avg_pct: FloatOrNone2Zero = Field(validation_alias="discount_rate_rate")
1702
+ # FBA可售库存 [原字段 'afn_fulfillable_quantity']
1703
+ afn_fulfillable_qty: IntOrNone2Zero = Field(validation_alias="afn_fulfillable_quantity")
1704
+ # FBM可售库存 [原字段 'quantity']
1705
+ mfn_fulfillable_qty: IntOrNone2Zero = Field(validation_alias="quantity")
1706
+ # Listing负责人 [原字段 'principal_list']
1707
+ operators: list[StrOrNone2Blank] = Field(validation_alias="principal_list")
1708
+ # Listing标签 [原字段: 'listing_tags']
1709
+ tags: list[base_schema.TagInfo] = Field(validation_alias="listing_tags")
1710
+ # 促销活动列表 [原字段 'promotion_list']
1711
+ promotions: list[PromotionOnListingDetail] = Field(validation_alias="promotion_list")
1712
+ # fmt: on
1713
+
1714
+
1715
+ class PromotionOnListings(ResponseV1):
1716
+ """促销 - Listing的促销信息列表"""
1717
+
1718
+ data: list[PromotionOnListing]