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,1011 @@
1
+ # -*- coding: utf-8 -*-
2
+ from pydantic import BaseModel, Field
3
+ from lingxingapi.base.schema import ResponseV1, FlattenDataList
4
+ from lingxingapi.fields import IntOrNone2Zero, FloatOrNone2Zero, StrOrNone2Blank
5
+
6
+
7
+ # 订单数据 -----------------------------------------------------------------------------------------------------------------------
8
+ # . Orders
9
+ class Order(BaseModel):
10
+ """亚马逊源订单"""
11
+
12
+ # fmt: off
13
+ # 领星店铺ID
14
+ sid: int
15
+ # 亚马逊订单编号
16
+ amazon_order_id: str
17
+ # 卖家提供的订单编号
18
+ merchant_order_id: str
19
+ # 配送方式 ("Amazon" [AFN] 或 "Merchant" [MFN])
20
+ fulfillment_channel: str
21
+ # 销售渠道 (如: "Amazon.com")
22
+ sales_channel: str
23
+ # 销售子渠道 (CBA/WBA) [原字段 'order_channel']
24
+ sales_sub_channel: str = Field(validation_alias="order_channel")
25
+ # 订单配送服务级别 [原字段 'ship_service_level']
26
+ shipment_service: str = Field(validation_alias="ship_service_level")
27
+ # 是否为B2B订单 [原字段 'is_business_order']
28
+ is_b2b_order: str = Field(validation_alias="is_business_order")
29
+ # 订单状态
30
+ order_status: str
31
+ # 订单商品状态 [原字段 'item_status']
32
+ order_item_status: str = Field(validation_alias="item_status")
33
+ # 领星产品ID [原字段 'pid']
34
+ product_id: int = Field(validation_alias="pid")
35
+ # 领星产品名称 [原字段 'local_name']
36
+ product_name: str = Field(validation_alias="local_name")
37
+ # 商品ASIN
38
+ asin: str
39
+ # 亚马逊SKU [原字段 'sku']
40
+ msku: str = Field(validation_alias="sku")
41
+ # 本地SKU [原字段 'local_sku']
42
+ lsku: str = Field(validation_alias="local_sku")
43
+ # 商品标题 [原字段 'product_name']
44
+ title: str = Field(validation_alias="product_name")
45
+ # ASIN链接 [原字段 'url']
46
+ asin_url: str = Field(validation_alias="url")
47
+ # 商品促销标识 [原字段 'promotion_ids']
48
+ promotion_labels: str = Field(validation_alias="promotion_ids")
49
+ # 订单商品总数量 [原字段 'quantity']
50
+ order_qty: int = Field(validation_alias="quantity")
51
+ # 商品销售金额 [原字段 'item_price']
52
+ sales_amt: FloatOrNone2Zero = Field(validation_alias="item_price")
53
+ # 商品销售金额税费 [原字段 'item_tax']
54
+ sales_tax_amt: FloatOrNone2Zero = Field(validation_alias="item_tax")
55
+ # 买家支付运费金额 [原字段 'shipping_price']
56
+ shipping_credits_amt: FloatOrNone2Zero = Field(validation_alias="shipping_price")
57
+ # 买家支付运费税费 [原字段 'shipping_tax']
58
+ shipping_credits_tax_amt: FloatOrNone2Zero = Field(validation_alias="shipping_tax")
59
+ # 买家支付礼品包装费金额 [原字段 'gift_wrap_price']
60
+ giftwrap_credits_amt: FloatOrNone2Zero = Field(validation_alias="gift_wrap_price")
61
+ # 买家支付礼品包装费税费 [原字段 'gift_wrap_tax']
62
+ giftwrap_credits_tax_amt: FloatOrNone2Zero = Field(validation_alias="gift_wrap_tax")
63
+ # 卖家商品促销折扣金额 [原字段 'item_promotion_discount']
64
+ promotion_discount_amt: FloatOrNone2Zero = Field(validation_alias="item_promotion_discount")
65
+ # 卖家商品运费折扣金额 [原字段 'ship_promotion_discount']
66
+ shipping_discount_amt: FloatOrNone2Zero = Field(validation_alias="ship_promotion_discount")
67
+ # 货币代码 [原字段 'currency']
68
+ currency_code: str = Field(validation_alias="currency")
69
+ # 买家国家代码 [原字段 'ship_country']
70
+ buyer_country_code: str = Field(validation_alias="ship_country")
71
+ # 买家州/省 [原字段 'ship_state']
72
+ buyer_state: str = Field(validation_alias="ship_state")
73
+ # 买家城市 [原字段 'ship_city']
74
+ buyer_city: str = Field(validation_alias="ship_city")
75
+ # 买家邮编 [原字段 'ship_postal_code']
76
+ buyer_postcode: str = Field(validation_alias="ship_postal_code")
77
+ # 订单购买时间 (UTC时间) [原字段 'purchase_date']
78
+ purchase_time_utc: str = Field(validation_alias="purchase_date")
79
+ # 订单购买时间 (本地时间) [原字段 'purchase_date_local']
80
+ purchase_time_loc: str = Field(validation_alias="purchase_date_local")
81
+ # 订单购买日期 (本地日期) [原字段 'purchase_date_locale']
82
+ purchase_date_loc: str = Field(validation_alias="purchase_date_locale")
83
+ # 订单发货时间 (本地时间) [原字段 'shipment_date']
84
+ shipment_time_loc: str = Field(validation_alias="shipment_date")
85
+ # 订单更新时间 (时间戳) [原字段 'last_updated_time']
86
+ update_time_ts: int = Field(validation_alias="last_updated_time")
87
+ # fmt: on
88
+
89
+
90
+ class Orders(ResponseV1):
91
+ """亚马逊所有类型(FBA & FBM)的源订单列表"""
92
+
93
+ data: list[Order]
94
+
95
+
96
+ # . FBA Orders
97
+ class FbaOrder(BaseModel):
98
+ """亚马逊FBA源订单"""
99
+
100
+ # fmt: off
101
+ # 亚马逊订单编号
102
+ amazon_order_id: str
103
+ # 亚马逊订单商品编号
104
+ amazon_order_item_id: str
105
+ # 配送方式 (AFN 或 MFN)
106
+ fulfillment_channel: str
107
+ # 亚马逊货件编号
108
+ shipment_id: str
109
+ # 亚马逊货件商品编号
110
+ shipment_item_id: str
111
+ # 订单配送服务级别 [原字段 'ship_service_level']
112
+ shipment_service: str = Field(validation_alias="ship_service_level")
113
+ # 承运商代码 [原字段 'carrier']
114
+ shipment_carrier: str = Field(validation_alias="carrier")
115
+ # 追踪单号
116
+ tracking_number: str
117
+ # 亚马逊SKU [原字段 'sku']
118
+ msku: str = Field(validation_alias="sku")
119
+ # 商品标题 [原字段 'product_name']
120
+ title: str = Field(validation_alias="product_name")
121
+ # 发货商品数量 [原字段 'quantity_shipped']
122
+ shipped_qty: int = Field(validation_alias="quantity_shipped")
123
+ # 商品销售金额 [原字段 'item_price']
124
+ sales_amt: FloatOrNone2Zero = Field(validation_alias="item_price")
125
+ # 商品销售金额税费 [原字段 'item_tax']
126
+ sales_tax_amt: FloatOrNone2Zero = Field(validation_alias="item_tax")
127
+ # 买家支付运费金额 [原字段 'shipping_price']
128
+ shipping_credits_amt: FloatOrNone2Zero = Field(validation_alias="shipping_price")
129
+ # 买家支付运费税费 [原字段 'shipping_tax']
130
+ shipping_credits_tax_amt: FloatOrNone2Zero = Field(validation_alias="shipping_tax")
131
+ # 买家支付礼品包装费金额 [原字段 'gift_wrap_price']
132
+ giftwrap_credits_amt: FloatOrNone2Zero = Field(validation_alias="gift_wrap_price")
133
+ # 买家支付礼品包装费税费 [原字段 'gift_wrap_tax']
134
+ giftwrap_credits_tax_amt: FloatOrNone2Zero = Field(validation_alias="gift_wrap_tax")
135
+ # 卖家商品促销折扣金额 [原字段 'item_promotion_discount']
136
+ promotion_discount_amt: FloatOrNone2Zero = Field(validation_alias="item_promotion_discount")
137
+ # 卖家商品运费折扣金额 [原字段 'ship_promotion_discount']
138
+ shipping_discount_amt: FloatOrNone2Zero = Field(validation_alias="ship_promotion_discount")
139
+ # 亚马逊积分抵付款金额 (日本站) [原字段 'points_granted']
140
+ points_discount_amt: FloatOrNone2Zero = Field(validation_alias="points_granted")
141
+ # 货币代码 [原字段 'currency']
142
+ currency_code: str = Field(validation_alias="currency")
143
+ # 买家国家代码 [原字段 'ship_country']
144
+ buyer_country_code: str = Field(validation_alias="ship_country")
145
+ # 买家州/省 [原字段 'ship_state']
146
+ buyer_state: str = Field(validation_alias="ship_state")
147
+ # 买家城市 [原字段 'ship_city']
148
+ buyer_city: str = Field(validation_alias="ship_city")
149
+ # 买家地址 [原字段 'ship_address_1']
150
+ buyer_address: str = Field(validation_alias="ship_address_1")
151
+ # 买家邮编 [原字段 'ship_postal_code']
152
+ buyer_postcode: str = Field(validation_alias="ship_postal_code")
153
+ # 买家名称
154
+ buyer_name: str
155
+ # 买家邮箱
156
+ buyer_email: str
157
+ # 买家电话 [原字段 'buyer_phone_number']
158
+ buyer_phone: str = Field(validation_alias="buyer_phone_number")
159
+ # 收件人名称
160
+ recipient_name: str
161
+ # 订单购买时间 (UTC时间) [原字段 'purchase_date']
162
+ purchase_time_utc: str = Field(validation_alias="purchase_date")
163
+ # 订单支付时间 (UTC时间) [原字段 'payments_date']
164
+ payments_time_utc: str = Field(validation_alias="payments_date")
165
+ # 订单发货时间 (UTC时间) [原字段 'shipment_date']
166
+ shipment_time_utc: str = Field(validation_alias="shipment_date")
167
+ # 预计送达时间 (UTC时间) [原字段 'estimated_arrival_date']
168
+ estimated_arrival_time_utc: str = Field(validation_alias="estimated_arrival_date")
169
+ # 报告数据时间 (UTC时间) [原字段 'reporting_date']
170
+ report_time_utc: str = Field(validation_alias="reporting_date")
171
+ # fmt: on
172
+
173
+
174
+ class FbaOrders(ResponseV1):
175
+ """亚马逊FBA订单列表"""
176
+
177
+ data: list[FbaOrder]
178
+
179
+
180
+ # . FBA Replacement Orders
181
+ class FbaReplacementOrder(BaseModel):
182
+ """亚马逊FBA换货源订单"""
183
+
184
+ # fmt: off
185
+ # 领星店铺ID
186
+ sid: int
187
+ # 订单唯一哈希值 (不是唯一键)
188
+ order_hash: str
189
+ # 原始亚马逊订单编号 [原字段 'original_amazon_order_id']
190
+ amazon_order_id: str = Field(validation_alias="original_amazon_order_id")
191
+ # 原始亚马逊配送中心代码 [原字段 'original_fulfillment_center_id']
192
+ fulfillment_center_id: str = Field(validation_alias="original_fulfillment_center_id")
193
+ # 换货商品ASIN
194
+ asin: str
195
+ # 换货亚马逊SKU [原字段 'seller_sku']
196
+ msku: str = Field(validation_alias="seller_sku")
197
+ # 换货亚马逊订单编号
198
+ replacement_amazon_order_id: str
199
+ # 换货亚马逊配送中心代码 [原字段 'fulfillment_center_id']
200
+ replacement_fulfillment_center_id: str = Field(validation_alias="fulfillment_center_id")
201
+ # 换货数量 [原字段 'quantity']
202
+ replacement_qty: int = Field(validation_alias="quantity")
203
+ # 换货原因代码
204
+ replacement_reason_code: int
205
+ # 换货原因描述 [原字段 'replacement_reason_msg']
206
+ replacement_reason_desc: str = Field(validation_alias="replacement_reason_msg")
207
+ # 换货时间 (UTC时间) [原字段 'shipment_date']
208
+ replacement_time_utc: str = Field(validation_alias="shipment_date")
209
+ # 数据同步时间 (时间戳) [原字段 'sync_time']
210
+ sync_time_ts: int = Field(validation_alias="sync_time")
211
+ # fmt: on
212
+
213
+
214
+ class FbaReplacementOrders(ResponseV1):
215
+ """亚马逊FBA换货源订单列表"""
216
+
217
+ data: list[FbaReplacementOrder]
218
+
219
+
220
+ # . FBA Return Orders
221
+ class ReturnOrderTag(BaseModel):
222
+ """亚马逊FBA退货源订单标签"""
223
+
224
+ # 标签名称
225
+ tag_name: str
226
+ # 标签颜色
227
+ tag_color: str
228
+
229
+
230
+ class FbaReturnOrder(BaseModel):
231
+ """亚马逊FBA退货源订单"""
232
+
233
+ # 领星店铺ID
234
+ sid: int
235
+ # 亚马逊订单编号 [原字段 'order_id']
236
+ amazon_order_id: str = Field(validation_alias="order_id")
237
+ # 亚马逊配送中心代码
238
+ fulfillment_center_id: str
239
+ # 退货商品ASIN
240
+ asin: str
241
+ # 退货亚马逊SKU [原字段 'sku']
242
+ msku: str = Field(validation_alias="sku")
243
+ # 退货领星本地SKU [原字段 'local_sku']
244
+ lsku: str = Field(validation_alias="local_sku")
245
+ # 退货亚马逊FNSKU
246
+ fnsku: str
247
+ # 退货商品标题 [原字段 'product_name']
248
+ title: str = Field(validation_alias="product_name")
249
+ # 退货商品数量 [原字段 'quantity']
250
+ return_qty: int = Field(validation_alias="quantity")
251
+ # 退货状态 [原字段 'status']
252
+ return_status: str = Field(validation_alias="status")
253
+ # 退货原因 [原字段 'reason']
254
+ return_reason: str = Field(validation_alias="reason")
255
+ # 退货备注 [原字段 'remark']
256
+ return_note: str = Field(validation_alias="remark")
257
+ # 退货处置结果 [原字段 'detailed_disposition']
258
+ disposition: str = Field(validation_alias="detailed_disposition")
259
+ # LNP编码号 [原字段 'license_plate_number']
260
+ lpn_number: str = Field(validation_alias="license_plate_number")
261
+ # 买家评论
262
+ customer_comments: str
263
+ # 订单购买时间 (UTC时间) [原字段 'purchase_date']
264
+ purchase_time_utc: str = Field(validation_alias="purchase_date")
265
+ # 订单购买日期 (本地日期) [原字段 'purchase_date_locale']
266
+ purchase_date_loc: str = Field(validation_alias="purchase_date_locale")
267
+ # 退货时间 (UTC时间) [原字段 'return_date']
268
+ return_time_utc: str = Field(validation_alias="return_date")
269
+ # 退货日期 (本地日期) [原字段 'return_date_locale']
270
+ return_date_loc: str = Field(validation_alias="return_date_locale")
271
+ # 数据最后修改时间 (北京时间) [原字段 'gmt_modified']
272
+ update_time_cnt: str = Field(validation_alias="gmt_modified")
273
+ # 退货标签 [原字段 'tag']
274
+ tags: list[ReturnOrderTag] = Field(validation_alias="tag")
275
+
276
+
277
+ class FbaReturnOrders(ResponseV1):
278
+ """亚马逊FBA退货源订单列表"""
279
+
280
+ data: list[FbaReturnOrder]
281
+
282
+
283
+ # . FBA Shipments
284
+ class FbaShipment(BaseModel):
285
+ """亚马逊FBA发货订单"""
286
+
287
+ # fmt: off
288
+ # 领星店铺ID
289
+ sid: int
290
+ # 亚马逊订单编号
291
+ amazon_order_id: str
292
+ # 亚马逊订单商品编号
293
+ amazon_order_item_id: str
294
+ # 商家订单编号
295
+ merchant_order_id: str
296
+ # 商家订单商品编号
297
+ merchant_order_item_id: str
298
+ # 销售渠道 (如: "amazon.com")
299
+ sales_channel: str
300
+ # 配送方式 (AFN 或 MFN)
301
+ fulfillment_channel: str
302
+ # 亚马逊配送中心代码
303
+ fulfillment_center_id: str
304
+ # 亚马逊货件编号
305
+ shipment_id: str
306
+ # 亚马逊货件商品编号
307
+ shipment_item_id: str
308
+ # 订单配送服务级别 [原字段 'ship_service_level']
309
+ shipment_service: str = Field(validation_alias="ship_service_level")
310
+ # 承运商代码 [原字段 'carrier']
311
+ shipment_carrier: str = Field(validation_alias="carrier")
312
+ # 追踪单号
313
+ tracking_number: str
314
+ # 亚马逊SKU
315
+ msku: str
316
+ # 领星本地SKU [原字段 'local_sku']
317
+ lsku: str = Field(validation_alias="local_sku")
318
+ # 领星产品名称 [原字段 'local_name']
319
+ product_name: str = Field(validation_alias="local_name")
320
+ # 商品标题 [原字段 'product_name']
321
+ title: str = Field(validation_alias="product_name")
322
+ # 发货商品数量 [原字段 'quantity_shipped']
323
+ shipped_qty: int = Field(validation_alias="quantity_shipped")
324
+ # 商品销售金额 [原字段 'item_price']
325
+ sales_amt: FloatOrNone2Zero = Field(validation_alias="item_price")
326
+ # 商品销售金额税费 [原字段 'item_tax']
327
+ sales_tax_amt: FloatOrNone2Zero = Field(validation_alias="item_tax")
328
+ # 买家支付运费金额 [原字段 'shipping_price']
329
+ shipping_credits_amt: FloatOrNone2Zero = Field(validation_alias="shipping_price")
330
+ # 买家支付运费税费 [原字段 'shipping_tax']
331
+ shipping_credits_tax_amt: FloatOrNone2Zero = Field(validation_alias="shipping_tax")
332
+ # 买家支付礼品包装费金额 [原字段 'gift_wrap_price']
333
+ giftwrap_credits_amt: FloatOrNone2Zero = Field(validation_alias="gift_wrap_price")
334
+ # 买家支付礼品包装费税费 [原字段 'gift_wrap_tax']
335
+ giftwrap_credits_tax_amt: FloatOrNone2Zero = Field(validation_alias="gift_wrap_tax")
336
+ # 卖家商品促销折扣金额 [原字段 'item_promotion_discount']
337
+ promotion_discount_amt: FloatOrNone2Zero = Field(validation_alias="item_promotion_discount")
338
+ # 卖家商品运费折扣金额 [原字段 'ship_promotion_discount']
339
+ shipping_discount_amt: FloatOrNone2Zero = Field(validation_alias="ship_promotion_discount")
340
+ # 亚马逊积分抵付款金额 (日本站) [原字段 'points_granted']
341
+ points_discount_amt: FloatOrNone2Zero = Field(validation_alias="points_granted")
342
+ # 货币代码 [原字段 'currency']
343
+ currency_code: str = Field(validation_alias="currency")
344
+ # 买家国家代码 [原字段 'ship_country']
345
+ buyer_country_code: str = Field(validation_alias="ship_country")
346
+ # 买家州/省 [原字段 'ship_state']
347
+ buyer_state: str = Field(validation_alias="ship_state")
348
+ # 买家城市 [原字段 'ship_city']
349
+ buyer_city: str = Field(validation_alias="ship_city")
350
+ # 买家地址1 [原字段 'ship_address_1']
351
+ buyer_address1: str = Field(validation_alias="ship_address_1")
352
+ # 买家地址2 [原字段 'ship_address_2']
353
+ buyer_address2: str = Field(validation_alias="ship_address_2")
354
+ # 买家地址3 [原字段 'ship_address_3']
355
+ buyer_address3: str = Field(validation_alias="ship_address_3")
356
+ # 买家邮编 [原字段 'ship_postal_code']
357
+ buyer_postcode: str = Field(validation_alias="ship_postal_code")
358
+ # 买家名称
359
+ buyer_name: str
360
+ # 买家邮箱
361
+ buyer_email: str
362
+ # 买家电话 [原字段 'buyer_phone_number']
363
+ buyer_phone: str = Field(validation_alias="buyer_phone_number")
364
+ # 收件人名称
365
+ recipient_name: str
366
+ # 账单国家代码 [原字段 'bill_country']
367
+ billing_country_code: str = Field(validation_alias="bill_country")
368
+ # 账单州/省 [原字段 'bill_state']
369
+ billing_state: str = Field(validation_alias="bill_state")
370
+ # 账单城市 [原字段 'bill_city']
371
+ billing_city: str = Field(validation_alias="bill_city")
372
+ # 账单地址1 [原字段 'bill_address_1']
373
+ billing_address1: str = Field(validation_alias="bill_address_1")
374
+ # 账单地址2 [原字段 'bill_address_2']
375
+ billing_address2: str = Field(validation_alias="bill_address_2")
376
+ # 账单地址3 [原字段 'bill_address_3']
377
+ billing_address3: str = Field(validation_alias="bill_address_3")
378
+ # 账单邮编 [原字段 'bill_postal_code']
379
+ billing_postcode: str = Field(validation_alias="bill_postal_code")
380
+ # 订单购买时间 (UTC时间) [原字段 'purchase_date']
381
+ purchase_time_utc: str = Field(validation_alias="purchase_date")
382
+ # 订单购买日期 (本地时间) [原字段 'purchase_date_locale']
383
+ purchase_time_loc: str = Field(validation_alias="purchase_date_locale")
384
+ # 订单付款时间 (UTC时间) [原字段 'payments_date']
385
+ payments_time_utc: str = Field(validation_alias="payments_date")
386
+ # 订单付款时间 (本地时间) [原字段 'payments_date_locale']
387
+ payments_time_loc: str = Field(validation_alias="payments_date_locale")
388
+ # 订单发货时间 (UTC时间) [原字段 'shipment_date']
389
+ shipment_time_utc: str = Field(validation_alias="shipment_date")
390
+ # 订单发货时间 (本地时间) [原字段 'shipment_date_locale']
391
+ shipment_time_loc: str = Field(validation_alias="shipment_date_locale")
392
+ # 预计送达时间 (UTC时间) [原字段 'estimated_arrival_date']
393
+ estimated_arrival_time_utc: str = Field(validation_alias="estimated_arrival_date")
394
+ # 预计送达日期 (本地日期) [原字段 'estimated_arrival_date_locale']
395
+ estimated_arrival_date_loc: str = Field(validation_alias="estimated_arrival_date_locale")
396
+ # 报告数据时间 (UTC时间) [原字段 'reporting_date']
397
+ report_time_utc: str = Field(validation_alias="reporting_date")
398
+ # 报告数据时间 (本地时间) [原字段 'reporting_date_locale']
399
+ report_time_loc: str = Field(validation_alias="reporting_date_locale")
400
+ # fmt: on
401
+
402
+
403
+ class FbaShipments(ResponseV1):
404
+ """亚马逊FBA发货订单列表"""
405
+
406
+ data: list[FbaShipment]
407
+
408
+
409
+ # . FBM Return Orders
410
+ class FbmReturnOrder(BaseModel):
411
+ """亚马逊FBM退货源订单"""
412
+
413
+ # fmt: off
414
+ # 领星店铺ID
415
+ sid: int
416
+ # 领星店铺名称
417
+ seller_name: str
418
+ # 国家 (站点)
419
+ country: str
420
+ # 订单唯一哈希值 (不是唯一键)
421
+ order_hash: str
422
+ # 亚马逊订单编号 [原字段 'order_id']
423
+ amazon_order_id: str = Field(validation_alias="order_id")
424
+ # 商品ASIN
425
+ asin: str
426
+ # 亚马逊SKU [原字段 'seller_sku']
427
+ msku: str = Field(validation_alias="seller_sku")
428
+ # 领星本地SKU [原字段 'local_sku']
429
+ lsku: str = Field(validation_alias="local_sku")
430
+ # 领星产品名称 [原字段 'local_name']
431
+ product_name: str = Field(validation_alias="local_name")
432
+ # 品牌名称 [原字段 'brand_title']
433
+ brand: str = Field(validation_alias="brand_title")
434
+ # 商品标题 [原字段 'item_name']
435
+ title: str = Field(validation_alias="item_name")
436
+ # 商品类目 [原字段 'category_title_path']
437
+ category: str = Field(validation_alias="category_title_path")
438
+ # 商品 ASIN 链接
439
+ asin_url: str
440
+ # 商品图片链接 [原字段 'pic_url']
441
+ image_url: str = Field(validation_alias="pic_url")
442
+ # 货币代码
443
+ currency_code: str
444
+ # 订单商品销售金额 [原字段 'order_amount']
445
+ order_amt: float = Field(validation_alias="order_amount")
446
+ # 订单商品退款金额 [原字段 'refunded_amount']
447
+ refund_amt: float = Field(validation_alias="refunded_amount")
448
+ # 订单商品数量 [原字段 'order_quantity']
449
+ order_qty: int = Field(validation_alias="order_quantity")
450
+ # 退货商品数量 [原字段 'return_quantity']
451
+ return_qty: int = Field(validation_alias="return_quantity")
452
+ # 退货状态
453
+ return_status: str
454
+ # 退货类型
455
+ return_type: str
456
+ # 退货原因
457
+ return_reason: str
458
+ # 退货解决方案 [原字段 'resolution']
459
+ return_resolution: str = Field(validation_alias="resolution")
460
+ # 退货备注 [原字段 'remark']
461
+ return_note: str = Field(validation_alias="remark")
462
+ # 退货RMA编号 [原字段 'rma_id']
463
+ rma_number: str = Field(validation_alias="rma_id")
464
+ # 退货RMA提供者 [原字段 'rma_id_provider']
465
+ rma_provider: str = Field(validation_alias="rma_id_provider")
466
+ # 退货承运商 [原字段 'return_carrier']
467
+ carrier: str = Field(validation_alias="return_carrier")
468
+ # 退货追踪单号 [原字段 'tracking_id']
469
+ tracking_number: str = Field(validation_alias="tracking_id")
470
+ # 发票编号
471
+ invoice_number: str
472
+ # 物流标签类型
473
+ label_type: str
474
+ # 物流标签费用
475
+ label_cost: float
476
+ # 物流标签费用支付方
477
+ label_payer: str
478
+ # 是否为Prime订单 (N: No, Y: Yes)
479
+ is_prime: str
480
+ # 是否在退货政策内 (N: No, Y: Yes) [原字段 'in_policy']
481
+ is_within_policy: str = Field(validation_alias="in_policy")
482
+ # 是否是A-to-Z索赔订单 (N: No, Y: Yes) [原字段 'a_to_z_claim']
483
+ is_a_to_z_claim: str = Field(validation_alias="a_to_z_claim")
484
+ # Safe-T索赔ID
485
+ safet_claim_id: str
486
+ # Safe-T索赔原因 [原字段 'safet_action_reason']
487
+ safet_claim_reason: str = Field(validation_alias="safet_action_reason")
488
+ # Safe-T索赔状态
489
+ safet_claim_state: str
490
+ # Safe-T索赔赔付金额 [原字段 'safet_claim_reimbursement_amount']
491
+ safet_claim_reimbursement_amt: FloatOrNone2Zero = Field(validation_alias="safet_claim_reimbursement_amount")
492
+ # Safe-T索赔时间 [原字段 'safet_claim_creation_time']
493
+ safet_claim_time: str = Field(validation_alias="safet_claim_creation_time")
494
+ # 购买日期
495
+ order_date: str
496
+ # 退货日期
497
+ return_date: str
498
+ # 退货送达日期
499
+ return_delivery_date: str
500
+ # 数据同步时间 (时间戳) [原字段 'sync_time']
501
+ sync_time_ts: int = Field(validation_alias="sync_time")
502
+ # 退货标签 [原字段 'tag_type_ids']
503
+ tags: list[ReturnOrderTag] = Field(validation_alias="tag_type_ids")
504
+ # fmt: on
505
+
506
+
507
+ class FbmReturnOrders(ResponseV1):
508
+ """亚马逊FBM退货源订单列表"""
509
+
510
+ data: list[FbmReturnOrder]
511
+
512
+
513
+ # FBA 库存数据 -------------------------------------------------------------------------------------------------------------------
514
+ # . FBA Removal Orders
515
+ class FbaRemovalOrder(BaseModel):
516
+ """亚马逊FBA移除订单"""
517
+
518
+ # 领星店铺ID
519
+ sid: int
520
+ # 亚马逊卖家ID
521
+ seller_id: str
522
+ # 站点区域
523
+ region: str
524
+ # 站点国家代码
525
+ country_code: str
526
+ # 移除订单编号 [原字段 'order_id']
527
+ removal_order_id: str = Field(validation_alias="order_id")
528
+ # 移除订单类型 (Return 或 Disposal) [原字段 'order_type']
529
+ removal_order_type: str = Field(validation_alias="order_type")
530
+ # 移除订单状态 [原字段 'order_status']
531
+ removal_order_status: str = Field(validation_alias="order_status")
532
+ # 亚马逊SKU [原字段 'sku']
533
+ msku: str = Field(validation_alias="sku")
534
+ # 领星本地SKU [原字段 'local_sku']
535
+ lsku: str = Field(validation_alias="local_sku")
536
+ # 亚马逊FNSKU
537
+ fnsku: str
538
+ # 领星产品名称 [原字段 'local_name']
539
+ product_name: str = Field(validation_alias="local_name")
540
+ # 库存处置结果
541
+ disposition: str
542
+ # 移除商品请求数量 [原字段 'requested_quantity']
543
+ requested_qty: int = Field(validation_alias="requested_quantity")
544
+ # 取消移除商品数量 [原字段 'cancelled_quantity']
545
+ cancelled_qty: int = Field(validation_alias="cancelled_quantity")
546
+ # 移除处理中商品数量 [原字段 'in_process_quantity']
547
+ processing_qty: int = Field(validation_alias="in_process_quantity")
548
+ # 已处置商品数量 [原字段 'disposed_quantity']
549
+ disposed_qty: int = Field(validation_alias="disposed_quantity")
550
+ # 已发货商品数量 [原字段 'shipped_quantity']
551
+ shipped_qty: int = Field(validation_alias="shipped_quantity")
552
+ # 移除商品费用
553
+ removal_fee: float
554
+ # 货币代码 [原字段 'currency']
555
+ currency_code: str = Field(validation_alias="currency")
556
+ # 收件地址 [原字段 'address_detail']
557
+ ship_to_address: str = Field(validation_alias="address_detail")
558
+ # 移除请求时间 [原字段 'request_date']
559
+ request_time: str = Field(validation_alias="request_date")
560
+ # 数据更新时间 [原字段 'last_updated_date']
561
+ update_time: str = Field(validation_alias="last_updated_date")
562
+
563
+
564
+ class FbaRemovalOrders(ResponseV1):
565
+ """亚马逊FBA移除订单列表"""
566
+
567
+ data: list[FbaRemovalOrder]
568
+
569
+
570
+ # . FBA Removal Shipments
571
+ class FbaRemovalShipmentSeller(BaseModel):
572
+ """亚马逊FBA移除货件店铺信息"""
573
+
574
+ # 领星站点ID
575
+ mid: int
576
+ # 领星店铺ID
577
+ sid: int
578
+ # 领星店铺名称 [原字段 'name']
579
+ seller_name: str = Field(validation_alias="name")
580
+ # 站点国家 (中文) [原字段 'marketplace']
581
+ country: str = Field(validation_alias="marketplace")
582
+
583
+
584
+ class FbaRemovalShipmentProduct(BaseModel):
585
+ """亚马逊FBA移除货件商品信息"""
586
+
587
+ # 领星本地SKU [原字段 'local_sku']
588
+ lsku: str = Field(validation_alias="local_sku")
589
+ # 领星产品名称 [原字段 'local_name']
590
+ product_name: str = Field(validation_alias="local_name")
591
+
592
+
593
+ class FbaRemovalShipmentShipToAddress(BaseModel):
594
+ """亚马逊FBA移除货件收件地址"""
595
+
596
+ # 国家代码 [原字段 'ship_country']
597
+ country_code: str = Field(validation_alias="ship_country")
598
+ # 州/省 [原字段 'ship_state']
599
+ state: str = Field(validation_alias="ship_state")
600
+ # 城市 [原字段 'ship_city']
601
+ city: str = Field(validation_alias="ship_city")
602
+ # 县/郡
603
+ county: str
604
+ # 区/镇
605
+ district: str
606
+ # 详细地址
607
+ address: str
608
+ # 地址行1
609
+ address_line1: str
610
+ # 地址行2
611
+ address_line2: str
612
+ # 地址行3
613
+ address_line3: str
614
+ # 邮编 [原字段 'ship_postal_code']
615
+ postcode: str = Field(validation_alias="ship_postal_code")
616
+ # 收件人名称
617
+ name: str
618
+ # 收件人电话
619
+ phone: str
620
+
621
+
622
+ class FbaRemovalShipment(BaseModel):
623
+ """亚马逊FBA移除货件"""
624
+
625
+ # fmt: off
626
+ # 领星站点ID
627
+ mid: int
628
+ # 领星店铺ID
629
+ sid: int
630
+ # 站点国家 (中文) [原字段 'marketplace']
631
+ country: str = Field(validation_alias="marketplace")
632
+ # 亚马逊卖家ID
633
+ seller_id: str
634
+ # 领星店铺帐号名称
635
+ seller_account_name: str
636
+ # 店铺信息列表 [原字段 'seller_name']
637
+ sellers: list[FbaRemovalShipmentSeller] = Field(validation_alias="seller_name")
638
+ # 移除业务标识 (唯一移除货件行) [原字段 'uuid_new']
639
+ uuid: str = Field(validation_alias="uuid_new")
640
+ # 移除业务标识序号 [原字段 'uuid_num_new']
641
+ uuid_seq: int = Field(validation_alias="uuid_num_new")
642
+ # 移除货件ID [原字段 'order_id']
643
+ removal_shipment_id: str = Field(validation_alias="order_id")
644
+ # 移除货件类型 [原字段 'removal_order_type']
645
+ removal_shipment_type: str = Field(validation_alias="removal_order_type")
646
+ # 亚马逊SKU [原字段 'sku']
647
+ msku: str = Field(validation_alias="sku")
648
+ # 亚马逊FNSKU
649
+ fnsku: str
650
+ # 商品信息列表 [原字段 'local_info']
651
+ products: list[FbaRemovalShipmentProduct] = Field(validation_alias="local_info")
652
+ # 库存处置结果
653
+ disposition: str
654
+ # 已发货商品数量 [原字段 'shipped_quantity']
655
+ shipped_qty: int = Field(validation_alias="shipped_quantity")
656
+ # 货件成运商
657
+ carrier: str
658
+ # 货件追踪单号
659
+ tracking_number: str
660
+ # 移除货件的仓库入库单号 [原字段 'overseas_removal_order_no']
661
+ warehouse_inbound_number: str = Field(validation_alias="overseas_removal_order_no")
662
+ # 移除货件收货地址 [原字段 'delivery_info']
663
+ ship_to_address: FbaRemovalShipmentShipToAddress = Field(validation_alias="delivery_info")
664
+ # 移除请求时间 [原字段 'request_date']
665
+ request_time: str = Field(validation_alias="request_date")
666
+ # 移除发货时间 [原字段 'shipment_date']
667
+ shipment_time: str = Field(validation_alias="shipment_date")
668
+ # 移除发货时间 (时间戳) [原字段 'shipment_date_timestamp']
669
+ shipment_time_ts: int = Field(validation_alias="shipment_date_timestamp")
670
+ # fmt: on
671
+
672
+
673
+ class FbaRemovalShipments(ResponseV1):
674
+ """亚马逊FBA移除货件列表"""
675
+
676
+ data: list[FbaRemovalShipment]
677
+
678
+
679
+ # . FBA Inventory
680
+ class FbaInventoryItem(BaseModel):
681
+ """亚马逊FBA库存"""
682
+
683
+ # fmt: off
684
+ # 商品ASIN
685
+ asin: str
686
+ # 亚马逊SKU [原字段 'sku']
687
+ msku: str = Field(validation_alias="sku")
688
+ # 亚马逊FNSKU
689
+ fnsku: str
690
+ # 商品标题 [原字段 'product_name']
691
+ title: str = Field(validation_alias="product_name")
692
+ # 商品状态
693
+ condition: str
694
+ # 商品单位体积 [原字段 'per_unit_volume']
695
+ item_volume: float = Field(validation_alias="per_unit_volume")
696
+ # 商品单位标准价格 [原字段 'your_price']
697
+ standard_price: float = Field(validation_alias="your_price")
698
+ # 商品单位到手价格
699
+ landed_price: float
700
+ # 商品单位采购成本 [原字段 'cg_price']
701
+ cost_of_goods: FloatOrNone2Zero = Field(validation_alias="cg_price")
702
+ # 是否是FBM配送 (Yes, No) [原字段 'mfn_listing_exists']
703
+ is_mfn: str = Field(validation_alias="mfn_listing_exists")
704
+ # FBM可售库存数量 [原字段 'mfn_fulfillable_quantity']
705
+ mfn_fulfillable: int = Field(validation_alias="mfn_fulfillable_quantity")
706
+ # 是否是FBA配送 (Yes, No) [原字段 'afn_listing_exists']
707
+ is_afn: str = Field(validation_alias="afn_listing_exists")
708
+ # FBA总库存数量 [原字段 'afn_total_quantity']
709
+ # (afn_warehouse + afn_inbound_working & shipped & receiving)
710
+ afn_total: int = Field(validation_alias="afn_total_quantity")
711
+ # FBA在库库存数量 [原字段 'afn_warehouse_quantity']
712
+ # (afn_fulfillable + afn_unsellable + afn_reserved)
713
+ afn_warehouse: int = Field(validation_alias="afn_warehouse_quantity")
714
+ # FBA可售库存数量 [原字段 'afn_fulfillable_quantity']
715
+ afn_fulfillable: int = Field(validation_alias="afn_fulfillable_quantity")
716
+ # FBA不可售库存数量 [原字段 'afn_unsellable_quantity']
717
+ afn_unsellable: int = Field(validation_alias="afn_unsellable_quantity")
718
+ # FBA预留库存数量 [原字段 'afn_reserved_quantity']
719
+ afn_reserved: int = Field(validation_alias="afn_reserved_quantity")
720
+ # FBA 发货计划入库的库存数量 [原字段 'afn_inbound_working_quantity']
721
+ afn_inbound_working: int = Field(validation_alias="afn_inbound_working_quantity")
722
+ # FBA 发货在途的库存数量 [原字段 'afn_inbound_shipped_quantity']
723
+ afn_inbound_shipped: int = Field(validation_alias="afn_inbound_shipped_quantity")
724
+ # FBA 发货入库接收中的库存数量 [原字段 'afn_inbound_receiving_quantity']
725
+ afn_inbound_receiving: int = Field(validation_alias="afn_inbound_receiving_quantity")
726
+ # 库存更新时间 (北京时间) [原字段 'gmt_modified']
727
+ update_time: str = Field(validation_alias="gmt_modified")
728
+ # fmt: on
729
+
730
+
731
+ class FbaInventory(ResponseV1):
732
+ """亚马逊FBA库存列表"""
733
+
734
+ data: list[FbaInventoryItem]
735
+
736
+
737
+ # . FBA Reserved Inventory
738
+ class FbaReservedInventoryItem(BaseModel):
739
+ """亚马逊FBA预留库存"""
740
+
741
+ # 商品ASIN
742
+ asin: str
743
+ # 亚马逊SKU [原字段 'sku']
744
+ msku: str = Field(validation_alias="sku")
745
+ # 亚马逊FNSKU
746
+ fnsku: str
747
+ # 商品标题 [原字段 'product_name']
748
+ title: str = Field(validation_alias="product_name")
749
+ # FBA 预留库存总数量 [原字段 'reserved_qty']
750
+ # (afn_reserved_fc_processing & transfer + afn_reserved_customer_order)
751
+ afn_reserved_total_qty: int = Field(validation_alias="reserved_qty")
752
+ # FBA 在库待调仓的库存数量 [原字段 'reserved_fc_processing']
753
+ afn_reserved_fc_processing: int = Field(validation_alias="reserved_fc_processing")
754
+ # FBA 在库调仓中的库存数量 [原字段 'reserved_fc_transfers']
755
+ afn_reserved_fc_transfers: int = Field(validation_alias="reserved_fc_transfers")
756
+ # FBA 在库待发货的库存数量 [原字段 'reserved_customerorders']
757
+ afn_reserved_customer_order: int = Field(validation_alias="reserved_customerorders")
758
+ # 库存更新时间 (北京时间) [原字段 'gmt_modified']
759
+ update_time: str = Field(validation_alias="gmt_modified")
760
+
761
+
762
+ class FbaReservedInventory(ResponseV1):
763
+ """亚马逊FBA可售库存列表"""
764
+
765
+ data: list[FbaReservedInventoryItem]
766
+
767
+
768
+ # . FBA Inventory Health
769
+ class FbaInventoryHealthItem(BaseModel):
770
+ """亚马逊FBA库存年龄"""
771
+
772
+ # fmt: off
773
+ # 领星店铺ID
774
+ sid: int
775
+ # 站点国家 [原字段 'marketplace']
776
+ country: str = Field(validation_alias="marketplace")
777
+ # 商品ASIN
778
+ asin: str
779
+ # 亚马逊SKU [原字段 'sku']
780
+ msku: str = Field(validation_alias="sku")
781
+ # 亚马逊FNSKU
782
+ fnsku: str
783
+ # 商品标题 [原字段 'product_name']
784
+ title: str = Field(validation_alias="product_name")
785
+ # 商品状态
786
+ condition: str
787
+ # 商品类目 [原字段 'product_group']
788
+ category: str = Field(validation_alias="product_group")
789
+ # 商品类目排名 [原字段 'sales_rank']
790
+ category_rank: int = Field(validation_alias="sales_rank")
791
+ # 商品仓储类型
792
+ storage_type: str
793
+ # 商品总仓储使用量 (排除待移除商品仓储使用量)
794
+ storage_volume: float
795
+ # 商品单位体积
796
+ item_volume: float
797
+ # 体积单位 [原字段 'volume_unit_measurement']
798
+ volume_unit: str = Field(validation_alias="volume_unit_measurement")
799
+ # 可售库存数量 [原字段 'available']
800
+ afn_fulfillable: int = Field(validation_alias="available")
801
+ # 待移除库存数量 [原字段 'pending_removal_quantity']
802
+ afn_pending_removal: int = Field(validation_alias="pending_removal_quantity")
803
+ # FBA 总发货库存数量 [原字段 'inbound_quantity']
804
+ # (inbound_working + inbound_shipped + inbound_received)
805
+ afn_inbound_total: int = Field(validation_alias="inbound_quantity")
806
+ # FBA 发货计划入库的库存数量 [原字段 'inbound_working']
807
+ afn_inbound_working: int = Field(validation_alias="inbound_working")
808
+ # FBA 发货在途的库存数量 [原字段 'inbound_shipped']
809
+ afn_inbound_shipped: int = Field(validation_alias="inbound_shipped")
810
+ # FBA 发货入库接收中的库存数量 [原字段 'inbound_received']
811
+ afn_inbound_receiving: int = Field(validation_alias="inbound_received")
812
+ # 库龄0-30天的库存数量 [原字段 'inv_age_0_to_30_days']
813
+ age_0_to_30_days: int = Field(validation_alias="inv_age_0_to_30_days")
814
+ # 库龄31-60天的库存数量 [原字段 'inv_age_31_to_60_days']
815
+ age_31_to_60_days: int = Field(validation_alias="inv_age_31_to_60_days")
816
+ # 库龄61-90天的库存数量 [原字段 'inv_age_61_to_90_days']
817
+ age_61_to_90_days: int = Field(validation_alias="inv_age_61_to_90_days")
818
+ # 库龄0-90天的库存数量 [原字段 'inv_age_0_to_90_days']
819
+ age_0_to_90_days: int = Field(validation_alias="inv_age_0_to_90_days")
820
+ # 库龄91-180天的库存数量 [原字段 'inv_age_91_to_180_days']
821
+ age_91_to_180_days: int = Field(validation_alias="inv_age_91_to_180_days")
822
+ # 库龄181-270天的库存数量 [原字段 'inv_age_181_to_270_days']
823
+ age_181_to_270_days: int = Field(validation_alias="inv_age_181_to_270_days")
824
+ # 库龄181-330天的库存数量 [原字段 'inv_age_181_to_330_days']
825
+ age_181_to_330_days: int = Field(validation_alias="inv_age_181_to_330_days")
826
+ # 库龄271-330天的库存数量 [原字段 'inv_age_271_to_330_days_quantity']
827
+ age_271_to_330_days: int = Field(validation_alias="inv_age_271_to_330_days_quantity")
828
+ # 库龄271-365天的库存数量 [原字段 'inv_age_271_to_365_days']
829
+ age_271_to_365_days: int = Field(validation_alias="inv_age_271_to_365_days")
830
+ # 库龄331-365天的库存数量 [原字段 'inv_age_331_to_365_days']
831
+ age_331_to_365_days: int = Field(validation_alias="inv_age_331_to_365_days")
832
+ # 库龄365天以上的库存数量 [原字段 'inv_age_365_plus_days']
833
+ age_365_plus_days: int = Field(validation_alias="inv_age_365_plus_days")
834
+ # 是否免除长期仓储费 (Yes, No) [原字段 'exempted_from_low_inventory_level_fee']
835
+ is_ltsf_exempted: str = Field(validation_alias="exempted_from_low_inventory_level_fee")
836
+ # 当前周是否收取低库存水平费 (Yes, No) [原字段 'low_Inventory_Level_fee_applied_in_current_week']
837
+ is_weekly_ltsf_applied: str = Field(validation_alias="low_Inventory_Level_fee_applied_in_current_week")
838
+ # 库龄180天以上收取长期仓储费的库存数量 [原字段 'qty_to_be_charged_ltsf_6_mo']
839
+ ltsf_180_plus_days: int = Field(validation_alias="qty_to_be_charged_ltsf_6_mo")
840
+ # 库龄180天以上预估收取长期仓储费的金额 [原字段 'projected_ltsf_6_mo']
841
+ estimated_ltsf_180_plus_fee: FloatOrNone2Zero = Field(validation_alias="projected_ltsf_6_mo")
842
+ # 库龄365天以上收取长期仓储费的库存数量 [原字段 'qty_to_be_charged_ltsf_12_mo']
843
+ ltsf_365_plus_days: int = Field(validation_alias="qty_to_be_charged_ltsf_12_mo")
844
+ # 库龄365天以上预估收取长期仓储费的金额 [原字段 'projected_ltsf_12_mo']
845
+ estimated_ltsf_365_plus_fee: FloatOrNone2Zero = Field(validation_alias="projected_ltsf_12_mo")
846
+ # 预估截至下一收费日期 (每月15日) 长期仓储费金额 [原字段 'estimated_ltsf_next_charge']
847
+ estimated_ltsf_next_charge_fee: FloatOrNone2Zero = Field(validation_alias="estimated_ltsf_next_charge")
848
+ # 是否免除低库存成本覆盖费 (Yes, No) [原字段 'exempted_from_low_inventory_cost_coverage_fee']
849
+ is_licc_exempted: str = Field(validation_alias="exempted_from_low_inventory_cost_coverage_fee")
850
+ # 当前周是否收取低库存成本覆盖费 (Yes, No) [原字段 'low_inventory_cost_coverage_fee_applied_in_current_week']
851
+ is_weekly_licc_applied: str = Field(validation_alias="low_inventory_cost_coverage_fee_applied_in_current_week")
852
+ # 预估往后30天内的仓储费金额 (月度仓储 + 长期仓储) [原字段 'estimated_storage_cost_next_month']
853
+ estimated_30_days_storage_fee: FloatOrNone2Zero = Field(validation_alias="estimated_storage_cost_next_month")
854
+ # 货币代码 [原字段 'currency']
855
+ currency_code: str = Field(validation_alias="currency")
856
+ # 商品标准价 (不包含促销, 运费, 积分) [原字段 'your_price']
857
+ standard_price: float = Field(validation_alias="your_price")
858
+ # 商品优惠价 [原字段 'sales_price']
859
+ sale_price: float = Field(validation_alias="sales_price")
860
+ # 商品促销价 [原字段 'featuredoffer_price']
861
+ offer_price: float = Field(validation_alias="featuredoffer_price")
862
+ # 商品最低价 (含运费) [原字段 'lowest_price_new_plus_shipping']
863
+ lowest_price: float = Field(validation_alias="lowest_price_new_plus_shipping")
864
+ # 商品最低二手价 (含运费) [原字段 'lowest_price_used']
865
+ lowest_used_price: float = Field(validation_alias="lowest_price_used")
866
+ # 最近7天发货销售额 [原字段 'sales_shipped_last_7_days']
867
+ shipped_amt_7d: float = Field(validation_alias="sales_shipped_last_7_days")
868
+ # 最近30天发货销售额 [原字段 'sales_shipped_last_30_days']
869
+ shipped_amt_30d: float = Field(validation_alias="sales_shipped_last_30_days")
870
+ # 最近60天发货销售额 [原字段 'sales_shipped_last_60_days']
871
+ shipped_amt_60d: float = Field(validation_alias="sales_shipped_last_60_days")
872
+ # 最近90天发货销售额 [原字段 'sales_shipped_last_90_days']
873
+ shipped_amt_90d: float = Field(validation_alias="sales_shipped_last_90_days")
874
+ # 最近7天发货数量 [原字段 'units_shipped_t7']
875
+ shipped_qty_7d: int = Field(validation_alias="units_shipped_t7")
876
+ # 最近30天发货数量 [原字段 'units_shipped_t30']
877
+ shipped_qty_30d: int = Field(validation_alias="units_shipped_t30")
878
+ # 最近60天发货数量 [原字段 'units_shipped_t60']
879
+ shipped_qty_60d: int = Field(validation_alias="units_shipped_t60")
880
+ # 最近90天发货数量 [原字段 'units_shipped_t90']
881
+ shipped_qty_90d: int = Field(validation_alias="units_shipped_t90")
882
+ # 库存售出率 (过去 90 天销量除以平均可售库存) [原字段 'sell_through']
883
+ sell_through_rate: float = Field(validation_alias="sell_through")
884
+ # 历史连续至少6个月无销售库存 [原字段 'no_sale_last_6_months']
885
+ historical_no_sale_6m: IntOrNone2Zero = Field(validation_alias="no_sale_last_6_months")
886
+ # 历史供货天数 (取短期&长期更大值)
887
+ historical_days_of_supply: float
888
+ # 历史短期供货天数 [原字段 'short_term_historical_days_of_supply']
889
+ historical_st_days_of_supply: float = Field(validation_alias="short_term_historical_days_of_supply")
890
+ # 历史长期供货天数 [原字段 'long_term_historical_days_of_supply']
891
+ historical_lt_days_of_supply: float = Field(validation_alias="long_term_historical_days_of_supply")
892
+ # 预估可供货天数 [原字段 'days_of_supply']
893
+ estimated_days_of_supply: IntOrNone2Zero = Field(validation_alias="days_of_supply")
894
+ # 基于过去30天数据预估可供货周数 [原字段 'weeks_of_cover_t30']
895
+ estimated_weeks_of_cover_30d: int = Field(validation_alias="weeks_of_cover_t30")
896
+ # 基于过去90天数据预估可供货周数 [原字段 'weeks_of_cover_t90']
897
+ estimated_weeks_of_cover_90d: int = Field(validation_alias="weeks_of_cover_t90")
898
+ # 预估冗余库存数量 [原字段 'estimated_excess_quantity']
899
+ estimated_excess: int = Field(validation_alias="estimated_excess_quantity")
900
+ # 库存健康状态 [原字段 'fba_inventory_level_health_status']
901
+ inventory_health_status: str = Field(validation_alias="fba_inventory_level_health_status")
902
+ # 库存预警信息 [原字段 'alert']
903
+ inventory_alert: str = Field(validation_alias="alert")
904
+ # 推荐安全库存水平 [原字段 'healthy_inventory_level']
905
+ recommended_healthy_qty: int = Field(validation_alias="healthy_inventory_level")
906
+ # 推荐最低库存水平 [原字段 'fba_minimum_inventory_level']
907
+ recommended_minimum_qty: IntOrNone2Zero = Field(validation_alias="fba_minimum_inventory_level")
908
+ # 推荐移除库存数量 [原字段 'recommended_removal_quantity']
909
+ recommended_removal_qty: int = Field(validation_alias="recommended_removal_quantity")
910
+ # 推荐促销价格
911
+ recommended_sales_price: float
912
+ # 推荐促销天数 [原字段 'recommended_sale_duration_days']
913
+ recommended_sales_days: int = Field(validation_alias="recommended_sale_duration_days")
914
+ # 推荐操作
915
+ recommended_action: str
916
+ # 预计推荐操作节省仓储费用 [原字段 'estimated_cost_savings_of_recommended_actions']
917
+ estimated_savings_of_recommended_actions: float = Field(validation_alias="estimated_cost_savings_of_recommended_actions")
918
+ # 数据日期 [原字段 'snapshot_date']
919
+ report_date: str = Field(validation_alias="snapshot_date")
920
+ # fmt: on
921
+
922
+
923
+ class FbaInventoryHealth(ResponseV1, FlattenDataList):
924
+ """亚马逊FBA库存年龄列表"""
925
+
926
+ data: list[FbaInventoryHealthItem]
927
+
928
+
929
+ # . FBA Inventory Adjustments
930
+ class FbaInventoryAdjustment(BaseModel):
931
+ """亚马逊FBA库存调整"""
932
+
933
+ # 领星店铺ID
934
+ sid: int
935
+ # 调整交易ID
936
+ transaction_item_id: str
937
+ # 亚马逊配送中心ID
938
+ fulfillment_center_id: str
939
+ # 亚马逊SKU
940
+ msku: str
941
+ # 亚马逊FNSKU
942
+ fnsku: str
943
+ # 商品标题 [原字段 'item_name']
944
+ titile: str = Field(validation_alias="item_name")
945
+ # 调整数量 [原字段 'quantity']
946
+ adjustment_qty: int = Field(validation_alias="quantity")
947
+ # 调整原因代码
948
+ adjustment_reason: str = Field(validation_alias="reason")
949
+ # 调整原因说明 [原字段 'reason_text']
950
+ adjustment_reason_desc: str = Field(validation_alias="reason_text")
951
+ # 库存处置结果
952
+ disposition: str
953
+ # 报告数据日期
954
+ report_date: str
955
+
956
+
957
+ class FbaInventoryAdjustments(ResponseV1):
958
+ """亚马逊FBA库存调整列表"""
959
+
960
+ data: list[FbaInventoryAdjustment]
961
+
962
+
963
+ # 报告导出 -----------------------------------------------------------------------------------------------------------------------
964
+ # . Export Report Task
965
+ class ExportReportTaskId(BaseModel):
966
+ """导出报告任务ID"""
967
+
968
+ # 报告导出任务ID
969
+ task_id: str
970
+
971
+
972
+ class ExportReportTask(ResponseV1):
973
+ """报告导出任务"""
974
+
975
+ data: ExportReportTaskId
976
+
977
+
978
+ # . Export Report Result
979
+ class ExportReportResultData(BaseModel):
980
+ """报告导出结果数据"""
981
+
982
+ # 报告文件ID
983
+ report_document_id: StrOrNone2Blank
984
+ # 报告生成进度状态
985
+ progress_status: StrOrNone2Blank
986
+ # 报告压缩算法
987
+ compression_algorithm: StrOrNone2Blank
988
+ # 报告下载链接
989
+ url: StrOrNone2Blank
990
+
991
+
992
+ class ExportReportResult(ResponseV1):
993
+ """报告导出结果"""
994
+
995
+ data: ExportReportResultData
996
+
997
+
998
+ # . Export Report Refresh
999
+ class ExportReportRefreshData(BaseModel):
1000
+ """报告导出结果续期数据"""
1001
+
1002
+ # 报告文件ID
1003
+ report_document_id: str
1004
+ # 报告下载链接
1005
+ url: str
1006
+
1007
+
1008
+ class ExportReportRefresh(ResponseV1):
1009
+ """报告导出结果续期"""
1010
+
1011
+ data: ExportReportRefreshData