lingxingapi 1.0.0__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.

Potentially problematic release.


This version of lingxingapi might be problematic. Click here for more details.

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 +443 -0
  8. lingxingapi/base/__init__.py +0 -0
  9. lingxingapi/base/api.py +409 -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 +212 -0
  18. lingxingapi/errors.py +143 -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 +411 -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.0.0.dist-info/METADATA +67 -0
  62. lingxingapi-1.0.0.dist-info/RECORD +65 -0
  63. lingxingapi-1.0.0.dist-info/WHEEL +5 -0
  64. lingxingapi-1.0.0.dist-info/licenses/LICENSE +22 -0
  65. lingxingapi-1.0.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,2615 @@
1
+ # -*- coding: utf-8 -*-
2
+ from pydantic import BaseModel, Field
3
+ from lingxingapi.base.schema import ResponseV1, ResponseV1Token
4
+ from lingxingapi.fields import IntOrNone2Zero, FloatOrNone2Zero, StrOrNone2Blank
5
+
6
+
7
+ # 基础数据 ----------------------------------------------------------------------------------------------------------------------
8
+ # . Ads Profiles
9
+ class AdProfile(BaseModel):
10
+ """广告帐号"""
11
+
12
+ # 领星店铺ID
13
+ sid: IntOrNone2Zero
14
+ # 领星店铺名称 [原字段 'name']
15
+ seller_name: str = Field(validation_alias="name")
16
+ # 店铺国家代码
17
+ country_code: str
18
+ # 店铺货币代码
19
+ currency_code: str
20
+ # 亚马逊店铺ID (广告帐号ID)
21
+ profile_id: int
22
+ # 广告帐号类型 [原字段 'type']
23
+ profile_type: str = Field(validation_alias="type")
24
+ # 广告帐号状态 [原字段 'status']
25
+ # (-1: 删除, 0: 停用, 1: 正常, 2: 异常)
26
+ profile_status: int = Field(validation_alias="status")
27
+
28
+
29
+ class AdProfiles(ResponseV1):
30
+ """广告帐号列表"""
31
+
32
+ data: list[AdProfile]
33
+
34
+
35
+ # . Portfolios
36
+ class Portfolio(BaseModel):
37
+ """广告组合"""
38
+
39
+ # 亚马逊店铺ID (广告帐号ID)
40
+ profile_id: int
41
+ # 广告组合ID
42
+ portfolio_id: int
43
+ # 广告组合名称 [原字段 'name']
44
+ portfolio_name: str = Field(validation_alias="name")
45
+ # 广告预算 (JSON 字符串)
46
+ budget: StrOrNone2Blank
47
+ # 当前是否在预算范围内 (0: 超出预算, 1: 在预算内)
48
+ in_budget: int
49
+ # 广告状态
50
+ state: str
51
+ # 服务状态 [原字段 'serving_status']
52
+ status: StrOrNone2Blank = Field(validation_alias="serving_status")
53
+ # 创建时间 (毫秒时间戳) [原字段 'creation_date']
54
+ create_time_ts: IntOrNone2Zero = Field(validation_alias="creation_date")
55
+ # 更新时间 (毫秒时间戳) [原字段 'last_updated_date']
56
+ update_time_ts: IntOrNone2Zero = Field(validation_alias="last_updated_date")
57
+
58
+
59
+ class Portfolios(ResponseV1Token):
60
+ """广告组合列表"""
61
+
62
+ data: list[Portfolio]
63
+
64
+
65
+ # 基础数据 - Sponsored Products - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
66
+ # . SP Campaigns
67
+ class SpCampaign(BaseModel):
68
+ """SP 广告活动"""
69
+
70
+ # 亚马逊店铺ID (广告帐号ID)
71
+ profile_id: int
72
+ # 广告组合ID
73
+ portfolio_id: IntOrNone2Zero
74
+ # 广告活动ID
75
+ campaign_id: int
76
+ # 广告活动名称 [原字段 'name']
77
+ campaign_name: str = Field(validation_alias="name")
78
+ # 广告活动类型
79
+ campaign_type: str
80
+ # 投放类型
81
+ targeting_type: str
82
+ # 溢价报价调整 (0: 不调整, 1: 调整)
83
+ premium_bid_adjustment: int
84
+ # 每日预算
85
+ daily_budget: float
86
+ # 竞价策略 (JSON 字符串)
87
+ bidding: StrOrNone2Blank
88
+ # 开始时间 [原字段 'start_date']
89
+ start_time: StrOrNone2Blank = Field(validation_alias="start_date")
90
+ # 结束时间 [原字段 'end_date']
91
+ end_time: StrOrNone2Blank = Field(None, validation_alias="end_date")
92
+ # 广告状态
93
+ state: str
94
+ # 服务状态 [原字段 'serving_status']
95
+ status: StrOrNone2Blank = Field(validation_alias="serving_status")
96
+ # 创建时间 (毫秒时间戳) [原字段 'creation_date']
97
+ create_time_ts: IntOrNone2Zero = Field(validation_alias="creation_date")
98
+ # 更新时间 (毫秒时间戳) [原字段 'last_updated_date']
99
+ update_time_ts: IntOrNone2Zero = Field(validation_alias="last_updated_date")
100
+
101
+
102
+ class SpCampaigns(ResponseV1Token):
103
+ """SP 广告活动列表"""
104
+
105
+ data: list[SpCampaign]
106
+
107
+
108
+ # . SP Ad Groups
109
+ class SpAdGroup(BaseModel):
110
+ """SP 广告组"""
111
+
112
+ # 亚马逊店铺ID (广告帐号ID)
113
+ profile_id: int
114
+ # 广告活动ID
115
+ campaign_id: int
116
+ # 广告组ID
117
+ ad_group_id: int
118
+ # 广告组名称 [原字段 'name']
119
+ ad_group_name: str = Field(validation_alias="name")
120
+ # 默认竞价
121
+ default_bid: float
122
+ # 广告组状态
123
+ state: str
124
+ # 服务状态 [原字段 'serving_status']
125
+ status: StrOrNone2Blank = Field(validation_alias="serving_status")
126
+ # 创建时间 (毫秒时间戳) [原字段 'creation_date']
127
+ create_time_ts: IntOrNone2Zero = Field(validation_alias="creation_date")
128
+ # 更新时间 (毫秒时间戳) [原字段 'last_updated_date']
129
+ update_time_ts: IntOrNone2Zero = Field(validation_alias="last_updated_date")
130
+
131
+
132
+ class SpAdGroups(ResponseV1Token):
133
+ """SP 广告组列表"""
134
+
135
+ data: list[SpAdGroup]
136
+
137
+
138
+ # . SP Ads
139
+ class SpProduct(BaseModel):
140
+ """SP 商品投放"""
141
+
142
+ # 亚马逊店铺ID (广告帐号ID)
143
+ profile_id: int
144
+ # 广告活动ID
145
+ campaign_id: int
146
+ # 广告组ID
147
+ ad_group_id: IntOrNone2Zero
148
+ # 商品广告ID
149
+ ad_id: int
150
+ # 商品ASIN
151
+ asin: str
152
+ # 亚马逊SKU [原字段 'sku']
153
+ msku: str = Field(validation_alias="sku")
154
+ # 广告状态
155
+ state: str
156
+ # 服务状态 [原字段 'serving_status']
157
+ status: StrOrNone2Blank = Field(validation_alias="serving_status")
158
+ # 创建时间 (毫秒时间戳) [原字段 'creation_date']
159
+ create_time_ts: IntOrNone2Zero = Field(validation_alias="creation_date")
160
+ # 更新时间 (毫秒时间戳) [原字段 'last_updated_date']
161
+ update_time_ts: IntOrNone2Zero = Field(validation_alias="last_updated_date")
162
+
163
+
164
+ class SpProducts(ResponseV1Token):
165
+ """SP 商品投放列表"""
166
+
167
+ data: list[SpProduct]
168
+
169
+
170
+ # . SP Keywords
171
+ class SpKeyword(BaseModel):
172
+ """SP 关键词投放"""
173
+
174
+ # 亚马逊店铺ID (广告帐号ID)
175
+ profile_id: int
176
+ # 广告活动ID
177
+ campaign_id: int
178
+ # 广告组ID
179
+ ad_group_id: IntOrNone2Zero
180
+ # 关键词ID
181
+ keyword_id: int
182
+ # 关键词文本
183
+ keyword_text: str
184
+ # 关键词匹配类型
185
+ match_type: str
186
+ # 竞价
187
+ bid: float
188
+ # 广告状态
189
+ state: str
190
+ # 服务状态 [原字段 'serving_status']
191
+ status: StrOrNone2Blank = Field(validation_alias="serving_status")
192
+ # 创建时间 (毫秒时间戳) [原字段 'creation_date']
193
+ create_time_ts: IntOrNone2Zero = Field(validation_alias="creation_date")
194
+ # 更新时间 (毫秒时间戳) [原字段 'last_updated_date']
195
+ update_time_ts: IntOrNone2Zero = Field(validation_alias="last_updated_date")
196
+
197
+
198
+ class SpKeywords(ResponseV1Token):
199
+ """SP 关键词投放列表"""
200
+
201
+ data: list[SpKeyword]
202
+
203
+
204
+ # . SP Targets
205
+ class SpTarget(BaseModel):
206
+ """SP 目标商品投放"""
207
+
208
+ # 亚马逊店铺ID (广告帐号ID)
209
+ profile_id: int
210
+ # 广告活动ID
211
+ campaign_id: int
212
+ # 广告组ID
213
+ ad_group_id: IntOrNone2Zero
214
+ # 目标商品广告ID
215
+ target_id: int
216
+ # 目标定位表达式类型
217
+ expression_type: str
218
+ # 目标定位表达式 (JSON 字符串)
219
+ expression: str
220
+ # 目标定位解析表达式 (JSON 字符串) [原字段 'resolved_expression']
221
+ expression_resolved: str = Field(validation_alias="resolved_expression")
222
+ # 竞价
223
+ bid: float
224
+ # 广告状态
225
+ state: str
226
+ # 服务状态 [原字段 'serving_status']
227
+ status: StrOrNone2Blank = Field(validation_alias="serving_status")
228
+ # 创建时间 (毫秒时间戳) [原字段 'creation_date']
229
+ create_time_ts: IntOrNone2Zero = Field(validation_alias="creation_date")
230
+ # 更新时间 (毫秒时间戳) [原字段 'last_updated_date']
231
+ update_time_ts: IntOrNone2Zero = Field(validation_alias="last_updated_date")
232
+
233
+
234
+ class SpTargets(ResponseV1Token):
235
+ """SP 目标商品投放列表"""
236
+
237
+ data: list[SpTarget]
238
+
239
+
240
+ # . Sp Negative Keywords
241
+ class SpNegativeKeyword(BaseModel):
242
+ """SP 否定投放目标或关键词"""
243
+
244
+ # 亚马逊店铺ID (广告帐号ID)
245
+ profile_id: int
246
+ # 广告活动ID
247
+ campaign_id: int
248
+ # 广告组ID
249
+ ad_group_id: IntOrNone2Zero
250
+ # 否定关键词文本 [原字段 'negative_text']
251
+ keyword_text: str = Field(validation_alias="negative_text")
252
+ # 否定匹配方式 [原字段 'negative_match_type']
253
+ match_type: str = Field(validation_alias="negative_match_type")
254
+ # 广告状态
255
+ state: str
256
+ # 服务状态 [原字段 'serving_status']
257
+ status: StrOrNone2Blank = Field(validation_alias="serving_status")
258
+ # 创建时间 (毫秒时间戳) [原字段 'creation_date']
259
+ create_time_ts: IntOrNone2Zero = Field(validation_alias="creation_date")
260
+ # 更新时间 (毫秒时间戳) [原字段 'last_updated_date']
261
+ update_time_ts: IntOrNone2Zero = Field(validation_alias="last_updated_date")
262
+
263
+
264
+ class SpNegativeKeywords(ResponseV1Token):
265
+ """SP 否定关键词投放列表"""
266
+
267
+ data: list[SpNegativeKeyword]
268
+
269
+
270
+ # . SP Negative Targets
271
+ class SpNegativeTarget(BaseModel):
272
+ """SP 否定投放目标或关键词"""
273
+
274
+ # 亚马逊店铺ID (广告帐号ID)
275
+ profile_id: int
276
+ # 广告活动ID
277
+ campaign_id: int
278
+ # 广告组ID
279
+ ad_group_id: IntOrNone2Zero
280
+ # 否定目标类型 [原字段 'negative_type']
281
+ target_type: str = Field(validation_alias="negative_type")
282
+ # 否定目标文本 [原字段 'negative_text']
283
+ target_text: str = Field(validation_alias="negative_text")
284
+ # 广告状态
285
+ state: str
286
+ # 服务状态 [原字段 'serving_status']
287
+ status: StrOrNone2Blank = Field(validation_alias="serving_status")
288
+ # 创建时间 (毫秒时间戳) [原字段 'creation_date']
289
+ create_time_ts: IntOrNone2Zero = Field(validation_alias="creation_date")
290
+ # 更新时间 (毫秒时间戳) [原字段 'last_updated_date']
291
+ update_time_ts: IntOrNone2Zero = Field(validation_alias="last_updated_date")
292
+
293
+
294
+ class SpNegativeTargets(ResponseV1Token):
295
+ """SP 否定目标商品投放列表"""
296
+
297
+ data: list[SpNegativeTarget]
298
+
299
+
300
+ # 基础数据 - Sponsored Brands - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
301
+ # . SB Campaigns
302
+ class SbCampaign(BaseModel):
303
+ """SB 广告活动"""
304
+
305
+ # 亚马逊店铺ID (广告帐号ID)
306
+ profile_id: int
307
+ # 广告组合ID
308
+ portfolio_id: IntOrNone2Zero
309
+ # 广告活动ID
310
+ campaign_id: int
311
+ # 广告活动名称 [原字段 'name']
312
+ campaign_name: str = Field(validation_alias="name")
313
+ # 广告预算
314
+ budget: float
315
+ # 广告预算类型
316
+ budget_type: str
317
+ # 自定义竞价调整
318
+ bid_multiplier: FloatOrNone2Zero
319
+ # 是否使用自动竞价 (0: 否, 1: 是)
320
+ bid_optimization: IntOrNone2Zero
321
+ # 广告着陆页 (JSON 字符串)
322
+ landing_page: StrOrNone2Blank
323
+ # 广告创意结构 (JSON 字符串)
324
+ creative: StrOrNone2Blank
325
+ # 广告创意类型
326
+ creative_type: StrOrNone2Blank
327
+ # 开始时间 [原字段 'start_date']
328
+ start_time: StrOrNone2Blank = Field(validation_alias="start_date")
329
+ # 结束时间 [原字段 'end_date']
330
+ end_time: StrOrNone2Blank = Field(None, validation_alias="end_date")
331
+ # 广告状态
332
+ state: str
333
+ # 服务状态 [原字段 'serving_status']
334
+ status: StrOrNone2Blank = Field(validation_alias="serving_status")
335
+
336
+
337
+ class SbCampaigns(ResponseV1Token):
338
+ """SB 广告活动列表"""
339
+
340
+ data: list[SbCampaign]
341
+
342
+
343
+ # . SB Ad Groups
344
+ class SbAdGroup(BaseModel):
345
+ """SB 广告组"""
346
+
347
+ # 亚马逊店铺ID (广告帐号ID)
348
+ profile_id: int
349
+ # 广告活动ID
350
+ campaign_id: int
351
+ # 广告组ID
352
+ ad_group_id: int
353
+ # 广告组名称 [原字段 'name']
354
+ ad_group_name: str = Field(validation_alias="name")
355
+ # 广告组状态
356
+ state: str
357
+ # 服务状态 [原字段 'serving_status']
358
+ status: StrOrNone2Blank = Field(validation_alias="serving_status")
359
+ # 创建时间 (毫秒时间戳) [原字段 'creation_date']
360
+ create_time_ts: IntOrNone2Zero = Field(validation_alias="creation_date")
361
+ # 更新时间 (毫秒时间戳) [原字段 'last_updated_date']
362
+ update_time_ts: IntOrNone2Zero = Field(validation_alias="last_updated_date")
363
+
364
+
365
+ class SbAdGroups(ResponseV1Token):
366
+ """SB 广告组列表"""
367
+
368
+ data: list[SbAdGroup]
369
+
370
+
371
+ # . SB Creatives
372
+ class SbCreative(BaseModel):
373
+ """SB 广告创意"""
374
+
375
+ # 亚马逊店铺ID (广告帐号ID)
376
+ profile_id: int
377
+ # 广告活动ID
378
+ campaign_id: int
379
+ # 广告组ID
380
+ ad_group_id: IntOrNone2Zero
381
+ # 广告创意ID [原字段 'ad_creative_id']
382
+ creative_id: int = Field(validation_alias="ad_creative_id")
383
+ # 广告创意名称 [原字段 'name']
384
+ creative_name: str = Field(validation_alias="name")
385
+ # 广告创意 ASIN 列表 [原字段 'asin']
386
+ asins: list[str] = Field(validation_alias="asin")
387
+ # 广告状态
388
+ state: str
389
+ # 服务状态 [原字段 'serving_status']
390
+ status: StrOrNone2Blank = Field(validation_alias="serving_status")
391
+ # 创建时间 (毫秒时间戳) [原字段 'creation_date']
392
+ create_time_ts: IntOrNone2Zero = Field(validation_alias="creation_date")
393
+ # 更新时间 (毫秒时间戳) [原字段 'last_updated_date']
394
+ update_time_ts: IntOrNone2Zero = Field(validation_alias="last_updated_date")
395
+
396
+
397
+ class SbCreatives(ResponseV1Token):
398
+ """SB 广告创意列表"""
399
+
400
+ data: list[SbCreative]
401
+
402
+
403
+ # . SB Keywords
404
+ class SbKeyword(BaseModel):
405
+ """SB 广告投放目标"""
406
+
407
+ # 亚马逊店铺ID (广告帐号ID)
408
+ profile_id: int
409
+ # 广告活动ID
410
+ campaign_id: int
411
+ # 广告组ID
412
+ ad_group_id: IntOrNone2Zero
413
+ # 广告类型 [原字段 'ads_type']
414
+ ad_type: str = Field(validation_alias="ads_type")
415
+ # 投放目标类型
416
+ targeting_type: str
417
+ # 关键词ID
418
+ keyword_id: int
419
+ # 关键词文本
420
+ keyword_text: str
421
+ # 关键词匹配类型
422
+ match_type: str
423
+ # 竞价 [原字段 'keyword_bid']
424
+ bid: float = Field(validation_alias="keyword_bid")
425
+ # 广告状态 [原字段 'keyword_state']
426
+ state: str = Field(validation_alias="keyword_state")
427
+
428
+
429
+ class SbKeywords(ResponseV1Token):
430
+ """SB 关键词投放列表"""
431
+
432
+ data: list[SbKeyword]
433
+
434
+
435
+ # . SB Targets
436
+ class SbTarget(BaseModel):
437
+ """SB 目标商品投放"""
438
+
439
+ # fmt: off
440
+ # 亚马逊店铺ID (广告帐号ID)
441
+ profile_id: int
442
+ # 广告活动ID
443
+ campaign_id: int
444
+ # 广告组ID
445
+ ad_group_id: IntOrNone2Zero
446
+ # 广告类型 [原字段 'ads_type']
447
+ ad_type: str = Field(validation_alias="ads_type")
448
+ # 投放目标类型
449
+ targeting_type: str
450
+ # 目标商品广告ID
451
+ target_id: int
452
+ # 目标定位表达式 (JSON 字符串)
453
+ expression: str
454
+ # 目标定位解析表达式 (JSON 字符串) [原字段 'resolved_expression']
455
+ expression_resolved: str = Field(validation_alias="resolved_expression")
456
+ # 竞价 [原字段 'target_bid']
457
+ bid: float = Field(validation_alias="target_bid")
458
+ # 广告状态 [原字段 'target_state']
459
+ state: str = Field(validation_alias="target_state")
460
+ # fmt: on
461
+
462
+
463
+ class SbTargets(ResponseV1Token):
464
+ """SB 目标商品投放列表"""
465
+
466
+ data: list[SbTarget]
467
+
468
+
469
+ # . SB Negative Keywords
470
+ class SbNegativeKeyword(BaseModel):
471
+ """SB 否定关键词投放"""
472
+
473
+ # 亚马逊店铺ID (广告帐号ID)
474
+ profile_id: int
475
+ # 广告活动ID
476
+ campaign_id: int
477
+ # 广告组ID
478
+ ad_group_id: IntOrNone2Zero
479
+ # 否定关键词ID
480
+ keyword_id: int
481
+ # 否定关键词文本
482
+ keyword_text: str
483
+ # 否定关键词匹配类型
484
+ match_type: str
485
+ # 广告状态
486
+ state: str
487
+ # 服务状态 [原字段 'serving_status']
488
+ status: StrOrNone2Blank = Field(validation_alias="serving_status")
489
+ # 创建时间 (毫秒时间戳) [原字段 'creation_date']
490
+ create_time_ts: IntOrNone2Zero = Field(validation_alias="creation_date")
491
+ # 更新时间 (毫秒时间戳) [原字段 'last_updated_date']
492
+ update_time_ts: IntOrNone2Zero = Field(validation_alias="last_updated_date")
493
+
494
+
495
+ class SbNegativeKeywords(ResponseV1Token):
496
+ """SB 否定关键词投放列表"""
497
+
498
+ data: list[SbNegativeKeyword]
499
+
500
+
501
+ # . SB Negative Targets
502
+ class SbNegativeTarget(BaseModel):
503
+ """SB 否定目标商品投放"""
504
+
505
+ # 亚马逊店铺ID (广告帐号ID)
506
+ profile_id: int
507
+ # 广告活动ID
508
+ campaign_id: int
509
+ # 广告组ID
510
+ ad_group_id: IntOrNone2Zero
511
+ # 否定目标商品广告ID
512
+ target_id: int
513
+ # 否定目标定位类型
514
+ expression_type: str
515
+ # 否定目标定位表达式 (JSON 字符串)
516
+ expression: str
517
+ # 否定目标定位解析表达式 (JSON 字符串) [原字段 'resolved_expression']
518
+ expression_resolved: str = Field(validation_alias="resolved_expression")
519
+ # 广告状态
520
+ state: str
521
+ # 服务状态 [原字段 'serving_status']
522
+ status: StrOrNone2Blank = Field(validation_alias="serving_status")
523
+ # 创建时间 (毫秒时间戳) [原字段 'creation_date']
524
+ create_time_ts: IntOrNone2Zero = Field(validation_alias="creation_date")
525
+ # 更新时间 (毫秒时间戳) [原字段 'last_updated_date']
526
+ update_time_ts: IntOrNone2Zero = Field(validation_alias="last_updated_date")
527
+
528
+
529
+ class SbNegativeTargets(ResponseV1Token):
530
+ """SB 否定目标商品投放列表"""
531
+
532
+ data: list[SbNegativeTarget]
533
+
534
+
535
+ # 基础数据 - Sponsored Display - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
536
+ # . SD Campaigns
537
+ class SdCampaign(BaseModel):
538
+ """SD 广告活动"""
539
+
540
+ # 亚马逊店铺ID (广告帐号ID)
541
+ profile_id: int
542
+ # 广告组合ID
543
+ portfolio_id: IntOrNone2Zero
544
+ # 广告活动ID
545
+ campaign_id: int
546
+ # 广告活动名称 [原字段 'name']
547
+ campaign_name: str = Field(validation_alias="name")
548
+ # 投放类型
549
+ tactic: str
550
+ # 竞价类型 [原字段 'cost_type']
551
+ bid_type: str = Field(validation_alias="cost_type")
552
+ # 每日预算
553
+ budget: float
554
+ # 预算类型
555
+ budget_type: str
556
+ # 开始时间 [原字段 'start_date']
557
+ start_time: StrOrNone2Blank = Field(validation_alias="start_date")
558
+ # 结束时间 [原字段 'end_date']
559
+ end_time: StrOrNone2Blank = Field(None, validation_alias="end_date")
560
+ # 广告状态
561
+ state: str
562
+ # 服务状态 [原字段 'serving_status']
563
+ status: StrOrNone2Blank = Field(validation_alias="serving_status")
564
+ # 创建时间 (毫秒时间戳) [原字段 'creation_date']
565
+ create_time_ts: IntOrNone2Zero = Field(validation_alias="creation_date")
566
+ # 更新时间 (毫秒时间戳) [原字段 'last_updated_date
567
+ update_time_ts: IntOrNone2Zero = Field(validation_alias="last_updated_date")
568
+
569
+
570
+ class SdCampaigns(ResponseV1Token):
571
+ """SD 广告活动列表"""
572
+
573
+ data: list[SdCampaign]
574
+
575
+
576
+ # . SD Ad Groups
577
+ class SdAdGroup(BaseModel):
578
+ """SD 广告组"""
579
+
580
+ # 亚马逊店铺ID (广告帐号ID)
581
+ profile_id: int
582
+ # 广告活动ID
583
+ campaign_id: int
584
+ # 广告组ID
585
+ ad_group_id: int
586
+ # 广告组名称 [原字段 'name']
587
+ ad_group_name: str = Field(validation_alias="name")
588
+ # 默认竞价
589
+ default_bid: float
590
+ # 竞价优化方式
591
+ bid_optimization: str
592
+ # 广告组状态
593
+ state: str
594
+ # 服务状态 [原字段 'serving_status']
595
+ status: StrOrNone2Blank = Field(validation_alias="serving_status")
596
+ # 创建时间 (毫秒时间戳) [原字段 'creation_date']
597
+ create_time_ts: IntOrNone2Zero = Field(validation_alias="creation_date")
598
+ # 更新时间 (毫秒时间戳) [原字段 'last_updated_date']
599
+ update_time_ts: IntOrNone2Zero = Field(validation_alias="last_updated_date")
600
+
601
+
602
+ class SdAdGroups(ResponseV1Token):
603
+ """SD 广告组列表"""
604
+
605
+ data: list[SdAdGroup]
606
+
607
+
608
+ # . SD Products
609
+ class SdProduct(BaseModel):
610
+ """SD 商品投放"""
611
+
612
+ # 亚马逊店铺ID (广告帐号ID)
613
+ profile_id: int
614
+ # 广告活动ID
615
+ campaign_id: int
616
+ # 广告组ID
617
+ ad_group_id: IntOrNone2Zero
618
+ # 商品广告ID
619
+ ad_id: int
620
+ # 商品ASIN
621
+ asin: str
622
+ # 亚马逊SKU [原字段 'sku']
623
+ msku: str = Field(validation_alias="sku")
624
+ # 广告状态
625
+ state: str
626
+ # 服务状态 [原字段 'serving_status']
627
+ status: StrOrNone2Blank = Field(validation_alias="serving_status")
628
+ # 创建时间 (毫秒时间戳) [原字段 'creation_date']
629
+ create_time_ts: IntOrNone2Zero = Field(validation_alias="creation_date")
630
+ # 更新时间 (毫秒时间戳) [原字段 'last_updated_date']
631
+ update_time_ts: IntOrNone2Zero = Field(validation_alias="last_updated_date")
632
+
633
+
634
+ class SdProducts(ResponseV1Token):
635
+ """SD 商品投放列表"""
636
+
637
+ data: list[SdProduct]
638
+
639
+
640
+ # . SD Targets
641
+ class SdTarget(BaseModel):
642
+ """SD 目标商品投放"""
643
+
644
+ # 亚马逊店铺ID (广告帐号ID)
645
+ profile_id: int
646
+ # 广告活动ID
647
+ campaign_id: int
648
+ # 广告组ID
649
+ ad_group_id: IntOrNone2Zero
650
+ # 目标商品广告ID
651
+ target_id: int
652
+ # 目标定位类型
653
+ expression_type: str
654
+ # 目标定位表达式 (JSON 字符串)
655
+ expression: str
656
+ # 目标定位解析表达式 (JSON 字符串) [原字段 'resolved_expression']
657
+ expression_resolved: str = Field(validation_alias="resolved_expression")
658
+ # 竞价
659
+ bid: float
660
+ # 广告状态
661
+ state: str
662
+ # 服务状态 [原字段 'serving_status']
663
+ status: StrOrNone2Blank = Field(validation_alias="serving_status")
664
+ # 创建时间 (毫秒时间戳) [原字段 'creation_date']
665
+ create_time_ts: IntOrNone2Zero = Field(validation_alias="creation_date")
666
+ # 更新时间 (毫秒时间戳) [原字段 'last_updated_date']
667
+ update_time_ts: IntOrNone2Zero = Field(validation_alias="last_updated_date")
668
+
669
+
670
+ class SdTargets(ResponseV1Token):
671
+ """SD 目标商品投放列表"""
672
+
673
+ data: list[SdTarget]
674
+
675
+
676
+ # . SD Negative Targets
677
+ class SdNegativeTarget(BaseModel):
678
+ """SD 否定目标商品投放"""
679
+
680
+ # 亚马逊店铺ID (广告帐号ID)
681
+ profile_id: int
682
+ # 广告活动ID
683
+ campaign_id: int
684
+ # 广告组ID
685
+ ad_group_id: IntOrNone2Zero
686
+ # 否定目标商品广告ID
687
+ target_id: int
688
+ # 否定目标定位类型
689
+ expression_type: str
690
+ # 否定目标定位表达式 (JSON 字符串)
691
+ expression: str
692
+ # 否定目标定位解析表达式 (JSON 字符串) [原字段 'resolved_expression']
693
+ expression_resolved: str = Field(validation_alias="resolved_expression")
694
+ # 广告状态
695
+ state: str
696
+ # 服务状态 [原字段 'serving_status']
697
+ status: StrOrNone2Blank = Field(validation_alias="serving_status")
698
+ # 创建时间 (毫秒时间戳) [原字段 'creation_date']
699
+ create_time_ts: IntOrNone2Zero = Field(validation_alias="creation_date")
700
+ # 更新时间 (毫秒时间戳) [原字段 'last_updated_date']
701
+ update_time_ts: IntOrNone2Zero = Field(validation_alias="last_updated_date")
702
+
703
+
704
+ class SdNegativeTargets(ResponseV1Token):
705
+ """SD 否定目标商品投放列表"""
706
+
707
+ data: list[SdNegativeTarget]
708
+
709
+
710
+ # 报告 -------------------------------------------------------------------------------------------------------------------------
711
+ # 报告 - Sponsored Products - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
712
+ # . SP Campaign Reports
713
+ class SpCampaignReport(BaseModel):
714
+ """SP 广告活动报告"""
715
+
716
+ # 亚马逊店铺ID (广告帐号ID)
717
+ profile_id: int
718
+ # 广告活动ID
719
+ campaign_id: int
720
+ # 投放目标类型
721
+ targeting_type: StrOrNone2Blank
722
+ # 广告花费
723
+ cost: float
724
+ # 总展示次数
725
+ impressions: int
726
+ # 总点击次数
727
+ clicks: int
728
+ # 广告订单数
729
+ orders: int
730
+ # 直接广告订单数 [原字段 'same_orders']
731
+ direct_orders: int = Field(validation_alias="same_orders")
732
+ # 广告成交商品件数
733
+ units: int
734
+ # 直接广告成交商品件数 [原字段 'same_units']
735
+ direct_units: int = Field(validation_alias="same_units")
736
+ # 广告销售额
737
+ sales: float
738
+ # 直接广告销售额 [原字段 'same_sales']
739
+ direct_sales: float = Field(validation_alias="same_sales")
740
+ # 报告日期
741
+ report_date: str
742
+
743
+
744
+ class SpCampaignReports(ResponseV1Token):
745
+ """SP 广告活动报告列表"""
746
+
747
+ data: list[SpCampaignReport]
748
+
749
+
750
+ # . SP Campaign Hour Data
751
+ class SpCampaignHour(BaseModel):
752
+ """SP 广告活动小时数据"""
753
+
754
+ # 亚马逊店铺ID (广告帐号ID)
755
+ profile_id: int
756
+ # 广告活动ID
757
+ campaign_id: int
758
+ # 广告花费
759
+ cost: float
760
+ # 总展示次数
761
+ impressions: int
762
+ # 总点击次数
763
+ clicks: int
764
+ # 广告订单数
765
+ orders: int
766
+ # 直接广告订单数 [原字段 'same_orders']
767
+ direct_orders: int = Field(validation_alias="same_orders")
768
+ # 广告成交商品件数
769
+ units: int
770
+ # 直接广告成交商品件数 [原字段 'same_units']
771
+ direct_units: int = Field(validation_alias="same_units")
772
+ # 广告销售额
773
+ sales: float
774
+ # 直接广告销售额 [原字段 'same_sales']
775
+ direct_sales: float = Field(validation_alias="same_sales")
776
+ # 点击率 - Click Through Rate (总点击次数 / 总展示次数)
777
+ ctr: FloatOrNone2Zero
778
+ # 转化率 - Conversion Rate (广告订单数 / 总点击次数)
779
+ cvr: FloatOrNone2Zero
780
+ # 平均点击花费 - Cost Per Click (广告花费 / 总点击次数)
781
+ cpc: FloatOrNone2Zero
782
+ # 平均订单花费 - Cost Per Acquisition (广告花费 / 广告订单数)
783
+ cpa: FloatOrNone2Zero
784
+ # 广告花费占比 - Ad Cost of Sales (广告花费 / 广告销售额)
785
+ acos: FloatOrNone2Zero
786
+ # 广告投入回报 - Return On Ad Spend (广告销售额 / 广告花费)
787
+ roas: FloatOrNone2Zero
788
+ # 数据所属小时 (0-23)
789
+ hour: int
790
+ # 报告日期
791
+ report_date: str
792
+
793
+
794
+ class SpCampaignHourData(ResponseV1):
795
+ """SP 广告活动小时数据列表"""
796
+
797
+ data: list[SpCampaignHour]
798
+
799
+
800
+ # . SP Placement Reports
801
+ class SpCampaignReport(BaseModel):
802
+ """SP 广告活动投放位置报告"""
803
+
804
+ # 亚马逊店铺ID (广告帐号ID)
805
+ profile_id: int
806
+ # 广告活动ID
807
+ campaign_id: int
808
+ # 广告投放位置 [原字段 'placement_type']
809
+ placement: str = Field(validation_alias="placement_type")
810
+ # 广告花费
811
+ cost: float
812
+ # 总展示次数
813
+ impressions: int
814
+ # 总点击次数
815
+ clicks: int
816
+ # 广告订单数
817
+ orders: int
818
+ # 直接广告订单数 [原字段 'same_orders']
819
+ direct_orders: int = Field(validation_alias="same_orders")
820
+ # 广告成交商品件数
821
+ units: int
822
+ # 直接广告成交商品件数 [原字段 'same_units']
823
+ direct_units: int = Field(validation_alias="same_units")
824
+ # 广告销售额
825
+ sales: float
826
+ # 直接广告销售额 [原字段 'same_sales']
827
+ direct_sales: float = Field(validation_alias="same_sales")
828
+ # 报告日期
829
+ report_date: str
830
+
831
+
832
+ class SpPlacementReports(ResponseV1Token):
833
+ """SP 广告活动投放位置报告列表"""
834
+
835
+ data: list[SpCampaignReport]
836
+
837
+
838
+ # . SP Placement Hour Data
839
+ class SpPlacementHour(BaseModel):
840
+ """SP 广告活动投放位置小时数据"""
841
+
842
+ # 亚马逊店铺ID (广告帐号ID)
843
+ profile_id: int
844
+ # 广告活动ID
845
+ campaign_id: int
846
+ # 广告投放位置
847
+ placement: str
848
+ # 广告花费
849
+ cost: float
850
+ # 总展示次数
851
+ impressions: int
852
+ # 总点击次数
853
+ clicks: int
854
+ # 广告订单数
855
+ orders: int
856
+ # 直接广告订单数 [原字段 'same_orders']
857
+ direct_orders: int = Field(validation_alias="same_orders")
858
+ # 广告成交商品件数
859
+ units: int
860
+ # 直接广告成交商品件数 [原字段 'same_units']
861
+ direct_units: int = Field(validation_alias="same_units")
862
+ # 广告销售额
863
+ sales: float
864
+ # 直接广告销售额 [原字段 'same_sales']
865
+ direct_sales: float = Field(validation_alias="same_sales")
866
+ # 点击率 - Click Through Rate (总点击次数 / 总展示次数)
867
+ ctr: FloatOrNone2Zero
868
+ # 转化率 - Conversion Rate (广告订单数 / 总点击次数)
869
+ cvr: FloatOrNone2Zero
870
+ # 平均点击花费 - Cost Per Click (广告花费 / 总点击次数)
871
+ cpc: FloatOrNone2Zero
872
+ # 平均订单花费 - Cost Per Acquisition (广告花费 / 广告订单数)
873
+ cpa: FloatOrNone2Zero
874
+ # 广告花费占比 - Ad Cost of Sales (广告花费 / 广告销售额)
875
+ acos: FloatOrNone2Zero
876
+ # 广告投入回报 - Return On Ad Spend (广告销售额 / 广告花费)
877
+ roas: FloatOrNone2Zero
878
+ # 数据所属小时 (0-23)
879
+ hour: int
880
+ # 报告日期
881
+ report_date: str
882
+
883
+
884
+ class SpPlacementHourData(ResponseV1):
885
+ """SP 广告活动投放位置小时数据列表"""
886
+
887
+ data: list[SpPlacementHour]
888
+
889
+
890
+ # . SP Ad Group Reports
891
+ class SpAdGroupReport(BaseModel):
892
+ """SP 广告组报告"""
893
+
894
+ # 亚马逊店铺ID (广告帐号ID)
895
+ profile_id: int
896
+ # 广告活动ID
897
+ campaign_id: int
898
+ # 广告组ID
899
+ ad_group_id: int
900
+ # 广告花费
901
+ cost: float
902
+ # 总展示次数
903
+ impressions: int
904
+ # 总点击次数
905
+ clicks: int
906
+ # 广告订单数
907
+ orders: int
908
+ # 直接广告订单数 [原字段 'same_orders']
909
+ direct_orders: int = Field(validation_alias="same_orders")
910
+ # 广告成交商品件数
911
+ units: int
912
+ # 直接广告成交商品件数 [原字段 'same_units']
913
+ direct_units: int = Field(validation_alias="same_units")
914
+ # 广告销售额
915
+ sales: float
916
+ # 直接广告销售额 [原字段 'same_sales']
917
+ direct_sales: float = Field(validation_alias="same_sales")
918
+ # 报告日期
919
+ report_date: str
920
+
921
+
922
+ class SpAdGroupReports(ResponseV1Token):
923
+ """SP 广告组报告列表"""
924
+
925
+ data: list[SpAdGroupReport]
926
+
927
+
928
+ # . SP Ad Group Hour Data
929
+ class SpAdGroupHour(BaseModel):
930
+ """SP 广告组小时数据"""
931
+
932
+ # 亚马逊店铺ID (广告帐号ID)
933
+ profile_id: int
934
+ # 广告活动ID
935
+ campaign_id: int
936
+ # 广告组ID [原字段 'group_id']
937
+ ad_group_id: int = Field(validation_alias="group_id")
938
+ # 广告花费
939
+ cost: float
940
+ # 总展示次数
941
+ impressions: int
942
+ # 总点击次数
943
+ clicks: int
944
+ # 广告订单数
945
+ orders: int
946
+ # 直接广告订单数 [原字段 'same_orders']
947
+ direct_orders: int = Field(validation_alias="same_orders")
948
+ # 广告成交商品件数
949
+ units: int
950
+ # 直接广告成交商品件数 [原字段 'same_units']
951
+ direct_units: int = Field(validation_alias="same_units")
952
+ # 广告销售额
953
+ sales: float
954
+ # 直接广告销售额 [原字段 'same_sales']
955
+ direct_sales: float = Field(validation_alias="same_sales")
956
+ # 点击率 - Click Through Rate (总点击次数 / 总展示次数)
957
+ ctr: FloatOrNone2Zero
958
+ # 转化率 - Conversion Rate (广告订单数 / 总点击次数)
959
+ cvr: FloatOrNone2Zero
960
+ # 平均点击花费 - Cost Per Click (广告花费 / 总点击次数)
961
+ cpc: FloatOrNone2Zero
962
+ # 平均订单花费 - Cost Per Acquisition (广告花费 / 广告订单数)
963
+ cpa: FloatOrNone2Zero
964
+ # 广告花费占比 - Ad Cost of Sales (广告花费 / 广告销售额)
965
+ acos: FloatOrNone2Zero
966
+ # 广告投入回报 - Return On Ad Spend (广告销售额 / 广告花费)
967
+ roas: FloatOrNone2Zero
968
+ # 数据所属小时 (0-23)
969
+ hour: int
970
+ # 报告日期
971
+ report_date: str
972
+
973
+
974
+ class SpAdGroupHourData(ResponseV1):
975
+ """SP 广告组小时数据列表"""
976
+
977
+ data: list[SpAdGroupHour]
978
+
979
+
980
+ # . SP Product Reports
981
+ class SpProductReport(BaseModel):
982
+ """SP 商品投放报告"""
983
+
984
+ # 亚马逊店铺ID (广告帐号ID)
985
+ profile_id: int
986
+ # 广告活动ID
987
+ campaign_id: int
988
+ # 广告组ID
989
+ ad_group_id: IntOrNone2Zero
990
+ # 商品广告ID
991
+ ad_id: int
992
+ # 商品ASIN
993
+ asin: str
994
+ # 亚马逊SKU [原字段 'sku']
995
+ msku: str = Field(validation_alias="sku")
996
+ # 广告花费
997
+ cost: float
998
+ # 总展示次数
999
+ impressions: int
1000
+ # 总点击次数
1001
+ clicks: int
1002
+ # 广告订单数
1003
+ orders: int
1004
+ # 直接广告订单数 [原字段 'same_orders']
1005
+ direct_orders: int = Field(validation_alias="same_orders")
1006
+ # 广告成交商品件数
1007
+ units: int
1008
+ # 直接广告成交商品件数 [原字段 'same_units']
1009
+ direct_units: int = Field(validation_alias="same_units")
1010
+ # 广告销售额
1011
+ sales: float
1012
+ # 直接广告销售额 [原字段 'same_sales']
1013
+ direct_sales: float = Field(validation_alias="same_sales")
1014
+ # 报告日期
1015
+ report_date: str
1016
+
1017
+
1018
+ class SpProductReports(ResponseV1Token):
1019
+ """SP 商品投放报告列表"""
1020
+
1021
+ data: list[SpProductReport]
1022
+
1023
+
1024
+ # , SP Product Hour Data
1025
+ class SpProductHour(BaseModel):
1026
+ """SP 商品投放小时数据"""
1027
+
1028
+ # 亚马逊店铺ID (广告帐号ID)
1029
+ profile_id: int
1030
+ # 广告活动ID
1031
+ campaign_id: int
1032
+ # 广告组ID [原字段 'group_id']
1033
+ ad_group_id: IntOrNone2Zero = Field(validation_alias="group_id")
1034
+ # 商品广告ID
1035
+ ad_id: int
1036
+ # 商品ASIN
1037
+ asin: str
1038
+ # 亚马逊SKU
1039
+ msku: str
1040
+ # 广告花费
1041
+ cost: float
1042
+ # 总展示次数
1043
+ impressions: int
1044
+ # 总点击次数
1045
+ clicks: int
1046
+ # 广告订单数
1047
+ orders: int
1048
+ # 直接广告订单数 [原字段 'same_orders']
1049
+ direct_orders: int = Field(validation_alias="same_orders")
1050
+ # 广告成交商品件数
1051
+ units: int
1052
+ # 直接广告成交商品件数 [原字段 'same_units']
1053
+ direct_units: int = Field(validation_alias="same_units")
1054
+ # 广告销售额
1055
+ sales: float
1056
+ # 直接广告销售额 [原字段 'same_sales']
1057
+ direct_sales: float = Field(validation_alias="same_sales")
1058
+ # 点击率 - Click Through Rate (总点击次数 / 总展示次数)
1059
+ ctr: FloatOrNone2Zero
1060
+ # 转化率 - Conversion Rate (广告订单数 / 总点击次数)
1061
+ cvr: FloatOrNone2Zero
1062
+ # 平均点击花费 - Cost Per Click (广告花费 / 总点击次数)
1063
+ cpc: FloatOrNone2Zero
1064
+ # 平均订单花费 - Cost Per Acquisition (广告花费 / 广告订单数)
1065
+ cpa: FloatOrNone2Zero
1066
+ # 广告花费占比 - Ad Cost of Sales (广告花费 / 广告销售额)
1067
+ acos: FloatOrNone2Zero
1068
+ # 广告投入回报 - Return On Ad Spend (广告销售额 / 广告花费)
1069
+ roas: FloatOrNone2Zero
1070
+ # 数据所属小时 (0-23)
1071
+ hour: int
1072
+ # 报告日期
1073
+ report_date: str
1074
+
1075
+
1076
+ class SpProductHourData(ResponseV1):
1077
+ """SP 商品投放小时数据列表"""
1078
+
1079
+ data: list[SpProductHour]
1080
+
1081
+
1082
+ # . SP Keyword Reports
1083
+ class SpKeywordReport(BaseModel):
1084
+ """SP 关键词投放报告"""
1085
+
1086
+ # 亚马逊店铺ID (广告帐号ID)
1087
+ profile_id: int
1088
+ # 广告活动ID
1089
+ campaign_id: int
1090
+ # 广告组ID
1091
+ ad_group_id: IntOrNone2Zero
1092
+ # 关键词ID
1093
+ keyword_id: int
1094
+ # 关键词文本
1095
+ keyword_text: str
1096
+ # 关键词匹配类型
1097
+ match_type: str
1098
+ # 广告花费
1099
+ cost: float
1100
+ # 总展示次数
1101
+ impressions: int
1102
+ # 总点击次数
1103
+ clicks: int
1104
+ # 广告订单数
1105
+ orders: int
1106
+ # 直接广告订单数 [原字段 'same_orders']
1107
+ direct_orders: int = Field(validation_alias="same_orders")
1108
+ # 广告成交商品件数
1109
+ units: int
1110
+ # 直接广告成交商品件数 [原字段 'same_units']
1111
+ direct_units: int = Field(validation_alias="same_units")
1112
+ # 广告销售额
1113
+ sales: float
1114
+ # 直接广告销售额 [原字段 'same_sales']
1115
+ direct_sales: float = Field(validation_alias="same_sales")
1116
+ # 报告日期
1117
+ report_date: str
1118
+
1119
+
1120
+ class SpKeywordReports(ResponseV1Token):
1121
+ """SP 关键词投放报告列表"""
1122
+
1123
+ data: list[SpKeywordReport]
1124
+
1125
+
1126
+ # . SP Keyword Hour Data
1127
+ class SpKeywordHour(BaseModel):
1128
+ """SP 关键词投放小时数据"""
1129
+
1130
+ # 亚马逊店铺ID (广告帐号ID)
1131
+ profile_id: int
1132
+ # 广告活动ID
1133
+ campaign_id: int
1134
+ # 广告组ID [原字段 'group_id']
1135
+ ad_group_id: IntOrNone2Zero = Field(validation_alias="group_id")
1136
+ # 商品广告ID
1137
+ ad_id: int
1138
+ # 关键词ID [原字段 'targeting_id']
1139
+ keyword_id: int = Field(validation_alias="targeting_id")
1140
+ # 关键词文本 [原字段 'targeting']
1141
+ keyword_text: str = Field(validation_alias="targeting")
1142
+ # 关键词匹配类型
1143
+ match_type: str
1144
+ # 商品ASIN
1145
+ asin: str
1146
+ # 亚马逊SKU
1147
+ msku: str
1148
+ # 广告花费
1149
+ cost: float
1150
+ # 总展示次数
1151
+ impressions: int
1152
+ # 总点击次数
1153
+ clicks: int
1154
+ # 广告订单数
1155
+ orders: int
1156
+ # 直接广告订单数 [原字段 'same_orders']
1157
+ direct_orders: int = Field(validation_alias="same_orders")
1158
+ # 广告成交商品件数
1159
+ units: int
1160
+ # 直接广告成交商品件数 [原字段 'same_units']
1161
+ direct_units: int = Field(validation_alias="same_units")
1162
+ # 广告销售额
1163
+ sales: float
1164
+ # 直接广告销售额 [原字段 'same_sales']
1165
+ direct_sales: float = Field(validation_alias="same_sales")
1166
+ # 点击率 - Click Through Rate (总点击次数 / 总展示次数)
1167
+ ctr: FloatOrNone2Zero
1168
+ # 转化率 - Conversion Rate (广告订单数 / 总点击次数)
1169
+ cvr: FloatOrNone2Zero
1170
+ # 平均点击花费 - Cost Per Click (广告花费 / 总点击次数)
1171
+ cpc: FloatOrNone2Zero
1172
+ # 平均订单花费 - Cost Per Acquisition (广告花费 / 广告订单数)
1173
+ cpa: FloatOrNone2Zero
1174
+ # 广告花费占比 - Ad Cost of Sales (广告花费 / 广告销售额)
1175
+ acos: FloatOrNone2Zero
1176
+ # 广告投入回报 - Return On Ad Spend (广告销售额 / 广告花费)
1177
+ roas: FloatOrNone2Zero
1178
+ # 数据所属小时 (0-23)
1179
+ hour: int
1180
+ # 报告日期
1181
+ report_date: str
1182
+
1183
+
1184
+ class SpKeywordHourData(ResponseV1):
1185
+ """SP 关键词投放小时数据列表"""
1186
+
1187
+ data: list[SpKeywordHour]
1188
+
1189
+
1190
+ # . SP Target Reports
1191
+ class SpTargetReport(BaseModel):
1192
+ """SP 目标商品投放报告"""
1193
+
1194
+ # 亚马逊店铺ID (广告帐号ID)
1195
+ profile_id: int
1196
+ # 广告活动ID
1197
+ campaign_id: int
1198
+ # 广告组ID
1199
+ ad_group_id: IntOrNone2Zero
1200
+ # 目标商品广告ID
1201
+ target_id: int
1202
+ # 目标定位表达式类型 [原字段 'targeting_type']
1203
+ expression_type: StrOrNone2Blank = Field(validation_alias="targeting_type")
1204
+ # 目标定位表达式 (JSON 字符串) [原字段 'targeting_expression']
1205
+ expression: str = Field(validation_alias="targeting_expression")
1206
+ # 广告花费
1207
+ cost: float
1208
+ # 总展示次数
1209
+ impressions: int
1210
+ # 总点击次数
1211
+ clicks: int
1212
+ # 广告订单数
1213
+ orders: int
1214
+ # 直接广告订单数 [原字段 'same_orders']
1215
+ direct_orders: int = Field(validation_alias="same_orders")
1216
+ # 广告成交商品件数
1217
+ units: int
1218
+ # 直接广告成交商品件数 [原字段 'same_units']
1219
+ direct_units: int = Field(validation_alias="same_units")
1220
+ # 广告销售额
1221
+ sales: float
1222
+ # 直接广告销售额 [原字段 'same_sales']
1223
+ direct_sales: float = Field(validation_alias="same_sales")
1224
+ # 报告日期
1225
+ report_date: str
1226
+
1227
+
1228
+ class SpTargetReports(ResponseV1Token):
1229
+ """SP 目标商品投放报告列表"""
1230
+
1231
+ data: list[SpTargetReport]
1232
+
1233
+
1234
+ # . SP Target Hour Data
1235
+ class SpTargetHour(BaseModel):
1236
+ """SP 目标商品投放小时数据"""
1237
+
1238
+ # 亚马逊店铺ID (广告帐号ID)
1239
+ profile_id: int
1240
+ # 广告活动ID
1241
+ campaign_id: int
1242
+ # 广告组ID [原字段 'group_id']
1243
+ ad_group_id: IntOrNone2Zero = Field(validation_alias="group_id")
1244
+ # 商品广告ID
1245
+ ad_id: int
1246
+ # 目标商品广告ID [原字段 'targeting_id']
1247
+ target_id: int = Field(validation_alias="targeting_id")
1248
+ # 目标商品文本 [原字段 'targeting']
1249
+ target_text: str = Field(validation_alias="targeting")
1250
+ # 目标匹配类型 [原字段 'match_type']
1251
+ target_type: str = Field(validation_alias="match_type")
1252
+ # 商品ASIN
1253
+ asin: str
1254
+ # 亚马逊SKU
1255
+ msku: str
1256
+ # 广告花费
1257
+ cost: float
1258
+ # 总展示次数
1259
+ impressions: int
1260
+ # 总点击次数
1261
+ clicks: int
1262
+ # 广告订单数
1263
+ orders: int
1264
+ # 直接广告订单数 [原字段 'same_orders']
1265
+ direct_orders: int = Field(validation_alias="same_orders")
1266
+ # 广告成交商品件数
1267
+ units: int
1268
+ # 直接广告成交商品件数 [原字段 'same_units']
1269
+ direct_units: int = Field(validation_alias="same_units")
1270
+ # 广告销售额
1271
+ sales: float
1272
+ # 直接广告销售额 [原字段 'same_sales']
1273
+ direct_sales: float = Field(validation_alias="same_sales")
1274
+ # 点击率 - Click Through Rate (总点击次数 / 总展示次数)
1275
+ ctr: FloatOrNone2Zero
1276
+ # 转化率 - Conversion Rate (广告订单数 / 总点击次数)
1277
+ cvr: FloatOrNone2Zero
1278
+ # 平均点击花费 - Cost Per Click (广告花费 / 总点击次数)
1279
+ cpc: FloatOrNone2Zero
1280
+ # 平均订单花费 - Cost Per Acquisition (广告花费 / 广告订单数)
1281
+ cpa: FloatOrNone2Zero
1282
+ # 广告花费占比 - Ad Cost of Sales (广告花费 / 广告销售额)
1283
+ acos: FloatOrNone2Zero
1284
+ # 广告投入回报 - Return On Ad Spend (广告销售额 / 广告花费)
1285
+ roas: FloatOrNone2Zero
1286
+ # 数据所属小时 (0-23)
1287
+ hour: int
1288
+ # 报告日期
1289
+ report_date: str
1290
+
1291
+
1292
+ class SpTargetHourData(ResponseV1):
1293
+ """SP 目标商品投放小时数据列表"""
1294
+
1295
+ data: list[SpTargetHour]
1296
+
1297
+
1298
+ # . SP Query Word Reports
1299
+ class SpQueryWordReport(BaseModel):
1300
+ """SP 用户搜索词报告"""
1301
+
1302
+ # 亚马逊店铺ID (广告帐号ID)
1303
+ profile_id: int
1304
+ # 广告活动ID
1305
+ campaign_id: int
1306
+ # 广告组ID
1307
+ ad_group_id: IntOrNone2Zero
1308
+ # 关键词ID [原字段 'target_id']
1309
+ keyword_id: int = Field(validation_alias="target_id")
1310
+ # 关键词文本 [原字段 'target_text']
1311
+ keyword_text: str = Field(validation_alias="target_text")
1312
+ # 用户使用搜索词 [原字段 'query']
1313
+ query_text: str = Field(validation_alias="query")
1314
+ # 关键词匹配类型
1315
+ match_type: str
1316
+ # 广告花费
1317
+ cost: float
1318
+ # 总展示次数
1319
+ impressions: int
1320
+ # 总点击次数
1321
+ clicks: int
1322
+ # 广告订单数
1323
+ orders: int
1324
+ # 直接广告订单数 [原字段 'same_orders']
1325
+ direct_orders: int = Field(validation_alias="same_orders")
1326
+ # 广告成交商品件数
1327
+ units: int
1328
+ # 直接广告成交商品件数 [原字段 'same_units']
1329
+ direct_units: int = Field(validation_alias="same_units")
1330
+ # 广告销售额
1331
+ sales: float
1332
+ # 直接广告销售额 [原字段 'same_sales']
1333
+ direct_sales: float = Field(validation_alias="same_sales")
1334
+ # 报告日期
1335
+ report_date: str
1336
+
1337
+
1338
+ class SpQueryWordReports(ResponseV1Token):
1339
+ """SP 用户搜索词报告列表"""
1340
+
1341
+ data: list[SpQueryWordReport]
1342
+
1343
+
1344
+ # 报告 - Sponsored Brands - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1345
+ # . SB Campaign Reports
1346
+ class SbCampaignReport(BaseModel):
1347
+ """SB 广告活动报告"""
1348
+
1349
+ # fmt: off
1350
+ # 亚马逊店铺ID (广告帐号ID)
1351
+ profile_id: int
1352
+ # 广告活动ID
1353
+ campaign_id: int
1354
+ # 广告花费
1355
+ cost: float
1356
+ # 总展示次数
1357
+ impressions: int
1358
+ # 总点击次数
1359
+ clicks: int
1360
+ # 广告订单数
1361
+ orders: int
1362
+ # 直接广告订单数 [原字段 'same_orders']
1363
+ direct_orders: int = Field(validation_alias="same_orders")
1364
+ # 品牌新买家广告订单数
1365
+ new_to_brand_orders: int
1366
+ # 品牌新买家订单占比 [原字段 'new_to_brand_order_percentage']
1367
+ # (品牌新买家广告订单数 / 广告订单数 x 100%)
1368
+ new_to_brand_order_pct: float = Field(validation_alias="new_to_brand_order_percentage")
1369
+ # 品牌新买家订单转化率
1370
+ # (品牌新买家广告订单数 / 总点击次数 x 100%)
1371
+ new_to_brand_order_rate: float
1372
+ # 广告成交商品件数
1373
+ units: int
1374
+ # 直接广告成交商品件数 [原字段 'same_units']
1375
+ direct_units: int = Field(validation_alias="same_units")
1376
+ # 品牌新买家成交商品件数
1377
+ new_to_brand_units: int
1378
+ # 广告销售额
1379
+ sales: float
1380
+ # 直接广告销售额 [原字段 'same_sales']
1381
+ direct_sales: float = Field(validation_alias="same_sales")
1382
+ # 品牌新买家销售额
1383
+ new_to_brand_sales: float
1384
+ # 广告可见率 - View Through Rate
1385
+ # (可见展示次数 / 总展示次数 x 100%)
1386
+ vtr: float
1387
+ # 广告可见点击率 - View Click Through Rate
1388
+ # (总点击次数 / 可见展示次数 x 100%)
1389
+ vctr: float
1390
+ # 报告日期
1391
+ report_date: str
1392
+ # fmt: on
1393
+
1394
+
1395
+ class SbCampaignReports(ResponseV1Token):
1396
+ """SB 广告活动报告列表"""
1397
+
1398
+ data: list[SbCampaignReport]
1399
+
1400
+
1401
+ # . SB Campaign Hour Data
1402
+ class SbCampaignHour(BaseModel):
1403
+ """SB 广告活动小时数据"""
1404
+
1405
+ # 亚马逊店铺ID (广告帐号ID)
1406
+ profile_id: int
1407
+ # 广告活动ID
1408
+ campaign_id: int
1409
+ # 广告花费
1410
+ cost: float
1411
+ # 总展示次数
1412
+ impressions: int
1413
+ # 总点击次数
1414
+ clicks: int
1415
+ # 广告订单数
1416
+ orders: int
1417
+ # 直接广告订单数 [原字段 'same_orders']
1418
+ direct_orders: int = Field(validation_alias="same_orders")
1419
+ # 广告成交商品件数
1420
+ units: int
1421
+ # 广告销售额
1422
+ sales: float
1423
+ # 直接广告销售额 [原字段 'same_sales']
1424
+ direct_sales: float = Field(validation_alias="same_sales")
1425
+ # 点击率 - Click Through Rate (总点击次数 / 总展示次数)
1426
+ ctr: FloatOrNone2Zero
1427
+ # 转化率 - Conversion Rate (广告订单数 / 总点击次数)
1428
+ cvr: FloatOrNone2Zero
1429
+ # 平均点击花费 - Cost Per Click (广告花费 / 总点击次数)
1430
+ cpc: FloatOrNone2Zero
1431
+ # 平均订单花费 - Cost Per Acquisition (广告花费 / 广告订单数)
1432
+ cpa: FloatOrNone2Zero
1433
+ # 广告花费占比 - Ad Cost of Sales (广告花费 / 广告销售额)
1434
+ acos: FloatOrNone2Zero
1435
+ # 广告投入回报 - Return On Ad Spend (广告销售额 / 广告花费)
1436
+ roas: FloatOrNone2Zero
1437
+ # 数据所属小时 (0-23)
1438
+ hour: int
1439
+ # 报告日期
1440
+ report_date: str
1441
+
1442
+
1443
+ class SbCampaignHourData(ResponseV1):
1444
+ """SB 广告活动小时数据列表"""
1445
+
1446
+ data: list[SbCampaignHour]
1447
+
1448
+
1449
+ # . SB Campaign Placement Reports
1450
+ class SbPlacementReprot(BaseModel):
1451
+ """SB 广告活动投放位置报告"""
1452
+
1453
+ # fmt: off
1454
+ # 亚马逊店铺ID (广告帐号ID)
1455
+ profile_id: int
1456
+ # 广告活动ID
1457
+ campaign_id: int
1458
+ # 广告投放位置 [原字段 'placement_type']
1459
+ placement: str = Field(validation_alias="placement_type")
1460
+ # 广告创意类型
1461
+ creative_type: str
1462
+ # 广告花费
1463
+ cost: float
1464
+ # 总展示次数
1465
+ impressions: int
1466
+ # 总点击次数
1467
+ clicks: int
1468
+ # 广告订单数
1469
+ orders: int
1470
+ # 品牌新买家广告订单数
1471
+ new_to_brand_orders: int
1472
+ # 品牌新买家订单占比 [原字段 'new_to_brand_order_percentage']
1473
+ # (品牌新买家广告订单数 / 广告订单数 x 100%)
1474
+ new_to_brand_order_pct: float = Field(validation_alias="new_to_brand_order_percentage")
1475
+ # 品牌新买家订单转化率
1476
+ # (品牌新买家广告订单数 / 总点击次数 x 100%)
1477
+ new_to_brand_order_rate: float
1478
+ # 广告成交商品件数
1479
+ units: int
1480
+ # 直接广告成交商品件数 [原字段 'same_units']
1481
+ direct_units: int = Field(validation_alias="same_units")
1482
+ # 品牌新买家成交商品件数
1483
+ new_to_brand_units: int
1484
+ # 广告销售额
1485
+ sales: float
1486
+ # 品牌新买家销售额
1487
+ new_to_brand_sales: float
1488
+ # 报告日期
1489
+ report_date: str
1490
+ # fmt: on
1491
+
1492
+
1493
+ class SbPlacementReports(ResponseV1Token):
1494
+ """SB 广告活动投放位置报告列表"""
1495
+
1496
+ data: list[SbPlacementReprot]
1497
+
1498
+
1499
+ # . SB Campaign Placement Hour Data
1500
+ class SbPlacementHour(BaseModel):
1501
+ """SB 广告活动投放位置小时数据"""
1502
+
1503
+ # 亚马逊店铺ID (广告帐号ID)
1504
+ profile_id: int
1505
+ # 广告活动ID
1506
+ campaign_id: int
1507
+ # 广告投放位置
1508
+ placement: str
1509
+ # 广告花费
1510
+ cost: float
1511
+ # 总展示次数
1512
+ impressions: int
1513
+ # 总点击次数
1514
+ clicks: int
1515
+ # 广告订单数
1516
+ orders: int
1517
+ # 直接广告订单数 [原字段 'same_orders']
1518
+ direct_orders: int = Field(validation_alias="same_orders")
1519
+ # 广告成交商品件数
1520
+ units: int
1521
+ # 广告销售额
1522
+ sales: float
1523
+ # 直接广告销售额 [原字段 'same_sales']
1524
+ direct_sales: float = Field(validation_alias="same_sales")
1525
+ # 点击率 - Click Through Rate (总点击次数 / 总展示次数)
1526
+ ctr: FloatOrNone2Zero
1527
+ # 转化率 - Conversion Rate (广告订单数 / 总点击次数)
1528
+ cvr: FloatOrNone2Zero
1529
+ # 平均点击花费 - Cost Per Click (广告花费 / 总点击次数)
1530
+ cpc: FloatOrNone2Zero
1531
+ # 平均订单花费 - Cost Per Acquisition (广告花费 / 广告订单数)
1532
+ cpa: FloatOrNone2Zero
1533
+ # 广告花费占比 - Ad Cost of Sales (广告花费 / 广告销售额)
1534
+ acos: FloatOrNone2Zero
1535
+ # 广告投入回报 - Return On Ad Spend (广告销售额 / 广告花费)
1536
+ roas: FloatOrNone2Zero
1537
+ # 数据所属小时 (0-23)
1538
+ hour: int
1539
+ # 报告日期
1540
+ report_date: str
1541
+
1542
+
1543
+ class SbPlacementHourData(ResponseV1):
1544
+ """SB 广告活动投放位置小时数据列表"""
1545
+
1546
+ data: list[SbPlacementHour]
1547
+
1548
+
1549
+ # . SB Ad Group Reports
1550
+ class SbAdGroupReport(BaseModel):
1551
+ """SB 广告组报告"""
1552
+
1553
+ # fmt: off
1554
+ # 亚马逊店铺ID (广告帐号ID)
1555
+ profile_id: int
1556
+ # 广告活动ID
1557
+ campaign_id: int
1558
+ # 广告组ID
1559
+ ad_group_id: int
1560
+ # 广告花费
1561
+ cost: float
1562
+ # 总展示次数
1563
+ impressions: int
1564
+ # 总点击次数
1565
+ clicks: int
1566
+ # 广告订单数
1567
+ orders: int
1568
+ # 直接广告订单数 [原字段 'same_orders']
1569
+ direct_orders: int = Field(validation_alias="same_orders")
1570
+ # 品牌新买家广告订单数
1571
+ new_to_brand_orders: int
1572
+ # 品牌新买家订单占比 [原字段 'new_to_brand_order_percentage']
1573
+ # (品牌新买家广告订单数 / 广告订单数 x 100%)
1574
+ new_to_brand_order_pct: float = Field(validation_alias="new_to_brand_order_percentage")
1575
+ # 品牌新买家订单转化率
1576
+ # (品牌新买家广告订单数 / 总点击次数 x 100%)
1577
+ new_to_brand_order_rate: float
1578
+ # 广告成交商品件数
1579
+ units: int
1580
+ # 直接广告成交商品件数 [原字段 'same_units']
1581
+ direct_units: int = Field(validation_alias="same_units")
1582
+ # 品牌新买家成交商品件数
1583
+ new_to_brand_units: int
1584
+ # 广告销售额
1585
+ sales: float
1586
+ # 品牌新买家销售额
1587
+ new_to_brand_sales: float
1588
+ # 广告可见率 - View Through Rate
1589
+ # (可见展示次数 / 总展示次数 x 100%)
1590
+ vtr: float
1591
+ # 广告可见点击率 - View Click Through Rate
1592
+ # (总点击次数 / 可见展示次数 x 100%)
1593
+ vctr: float
1594
+ # 报告日期
1595
+ report_date: str
1596
+ # fmt: on
1597
+
1598
+
1599
+ class SbAdGroupReports(ResponseV1Token):
1600
+ """SB 广告组报告列表"""
1601
+
1602
+ data: list[SbAdGroupReport]
1603
+
1604
+
1605
+ # . SB Ad Group Hour Data
1606
+ class SbAdGroupHour(BaseModel):
1607
+ """SB 广告组小时数据"""
1608
+
1609
+ # 亚马逊店铺ID (广告帐号ID)
1610
+ profile_id: int
1611
+ # 广告活动ID
1612
+ campaign_id: int
1613
+ # 广告组ID [原字段 'group_id']
1614
+ ad_group_id: int = Field(validation_alias="group_id")
1615
+ # 广告花费
1616
+ cost: float
1617
+ # 总展示次数
1618
+ impressions: int
1619
+ # 总点击次数
1620
+ clicks: int
1621
+ # 广告订单数
1622
+ orders: int
1623
+ # 直接广告订单数 [原字段 'same_orders']
1624
+ direct_orders: int = Field(validation_alias="same_orders")
1625
+ # 广告成交商品件数
1626
+ units: int
1627
+ # 广告销售额
1628
+ sales: float
1629
+ # 直接广告销售额 [原字段 'same_sales']
1630
+ direct_sales: float = Field(validation_alias="same_sales")
1631
+ # 点击率 - Click Through Rate (总点击次数 / 总展示次数)
1632
+ ctr: FloatOrNone2Zero
1633
+ # 转化率 - Conversion Rate (广告订单数 / 总点击次数)
1634
+ cvr: FloatOrNone2Zero
1635
+ # 平均点击花费 - Cost Per Click (广告花费 / 总点击次数)
1636
+ cpc: FloatOrNone2Zero
1637
+ # 平均订单花费 - Cost Per Acquisition (广告花费 / 广告订单数)
1638
+ cpa: FloatOrNone2Zero
1639
+ # 广告花费占比 - Ad Cost of Sales (广告花费 / 广告销售额)
1640
+ acos: FloatOrNone2Zero
1641
+ # 广告投入回报 - Return On Ad Spend (广告销售额 / 广告花费)
1642
+ roas: FloatOrNone2Zero
1643
+ # 数据所属小时 (0-23)
1644
+ hour: int
1645
+ # 报告日期
1646
+ report_date: str
1647
+
1648
+ {
1649
+ "profile_id": 494383675863017,
1650
+ "campaign_id": 404109386867496,
1651
+ "ad_group_id": 328051704994534,
1652
+ "cost": 1.42,
1653
+ "impressions": 76,
1654
+ "clicks": 1,
1655
+ "orders": 1,
1656
+ "direct_orders": 1,
1657
+ "units": 1,
1658
+ "sales": 35.0,
1659
+ "direct_sales": 35.0,
1660
+ "ctr": 0.0132,
1661
+ "cvr": 1.0,
1662
+ "cpc": 1.42,
1663
+ "cpa": 1.42,
1664
+ "acos": 0.0406,
1665
+ "roas": 24.65,
1666
+ "hour": 21,
1667
+ "report_date": "2025-08-25",
1668
+ }
1669
+
1670
+
1671
+ class SbAdGroupHourData(ResponseV1):
1672
+ """SB 广告组小时数据列表"""
1673
+
1674
+ data: list[SbAdGroupHour]
1675
+
1676
+
1677
+ # . SB Creative Reports
1678
+ class SbCreativeReport(BaseModel):
1679
+ """SB 广告创意报告"""
1680
+
1681
+ # fmt: off
1682
+ # 亚马逊店铺ID (广告帐号ID)
1683
+ profile_id: int
1684
+ # 广告活动ID
1685
+ campaign_id: int
1686
+ # 广告组ID
1687
+ ad_group_id: IntOrNone2Zero
1688
+ # 广告创意ID [原字段 'ad_creative_id']
1689
+ creative_id: int = Field(validation_alias="ad_creative_id")
1690
+ # 广告花费
1691
+ cost: float
1692
+ # 总展示次数
1693
+ impressions: int
1694
+ # 总点击次数
1695
+ clicks: int
1696
+ # 广告订单数
1697
+ orders: int
1698
+ # 直接广告订单数 [原字段 'same_orders']
1699
+ direct_orders: int = Field(validation_alias="same_orders")
1700
+ # 品牌新买家广告订单数
1701
+ new_to_brand_orders: int
1702
+ # 品牌新买家订单占比 [原字段 'new_to_brand_order_percentage']
1703
+ # (品牌新买家广告订单数 / 广告订单数 x 100%)
1704
+ new_to_brand_order_pct: float = Field(validation_alias="new_to_brand_order_percentage")
1705
+ # 品牌新买家订单转化率
1706
+ # (品牌新买家广告订单数 / 总点击次数 x 100%)
1707
+ new_to_brand_order_rate: float
1708
+ # 广告成交商品件数
1709
+ units: int
1710
+ # 直接广告成交商品件数 [原字段 'same_units']
1711
+ direct_units: int = Field(validation_alias="same_units")
1712
+ # 品牌新买家成交商品件数
1713
+ new_to_brand_units: int
1714
+ # 广告销售额
1715
+ sales: float
1716
+ # 直接广告销售额 [原字段 'same_sales']
1717
+ direct_sales: float = Field(validation_alias="same_sales")
1718
+ # 品牌新买家销售额
1719
+ new_to_brand_sales: float
1720
+ # 广告可见率 - View Through Rate
1721
+ # (可见展示次数 / 总展示次数 x 100%)
1722
+ vtr: float
1723
+ # 广告可见点击率 - View Click Through Rate
1724
+ # (总点击次数 / 可见展示次数 x 100%)
1725
+ vctr: float
1726
+ # 报告日期
1727
+ report_date: str
1728
+ # fmt: on
1729
+
1730
+
1731
+ class SbCreativeReports(ResponseV1Token):
1732
+ """SB 广告创意报告列表"""
1733
+
1734
+ data: list[SbCreativeReport]
1735
+
1736
+
1737
+ # . SB Keyword Reports
1738
+ class SbKeywordReport(BaseModel):
1739
+ """SB 关键词投放报告"""
1740
+
1741
+ # fmt: off
1742
+ # 亚马逊店铺ID (广告帐号ID)
1743
+ profile_id: int
1744
+ # 广告活动ID
1745
+ campaign_id: int
1746
+ # 广告组ID
1747
+ ad_group_id: IntOrNone2Zero
1748
+ # 关键词ID
1749
+ keyword_id: int
1750
+ # 广告创意类型
1751
+ creative_type: str
1752
+ # 广告花费
1753
+ cost: float
1754
+ # 总展示次数
1755
+ impressions: int
1756
+ # 总点击次数
1757
+ clicks: int
1758
+ # 广告订单数
1759
+ orders: int
1760
+ # 直接广告订单数 [原字段 'same_orders']
1761
+ direct_orders: int = Field(validation_alias="same_orders")
1762
+ # 品牌新买家广告订单数
1763
+ new_to_brand_orders: int
1764
+ # 品牌新买家订单占比 [原字段 'new_to_brand_order_percentage']
1765
+ # (品牌新买家广告订单数 / 广告订单数 x 100%)
1766
+ new_to_brand_order_pct: float = Field(validation_alias="new_to_brand_order_percentage")
1767
+ # 品牌新买家订单转化率
1768
+ # (品牌新买家广告订单数 / 总点击次数 x 100%)
1769
+ new_to_brand_order_rate: float
1770
+ # 广告成交商品件数
1771
+ units: int
1772
+ # 直接广告成交商品件数 [原字段 'same_units']
1773
+ direct_units: int = Field(validation_alias="same_units")
1774
+ # 品牌新买家成交商品件数
1775
+ new_to_brand_units: int
1776
+ # 广告销售额
1777
+ sales: float
1778
+ # 直接广告销售额 [原字段 'same_sales']
1779
+ direct_sales: float = Field(validation_alias="same_sales")
1780
+ # 品牌新买家销售额
1781
+ new_to_brand_sales: float
1782
+ # 报告日期
1783
+ report_date: str
1784
+ # fmt: on
1785
+
1786
+
1787
+ class SbKeywordReports(ResponseV1Token):
1788
+ """SB 关键词投放报告列表"""
1789
+
1790
+ data: list[SbKeywordReport]
1791
+
1792
+
1793
+ # . SB Target Reports
1794
+ class SbTargetReport(BaseModel):
1795
+ """SB 目标商品投放报告"""
1796
+
1797
+ # fmt: off
1798
+ # 亚马逊店铺ID (广告帐号ID)
1799
+ profile_id: int
1800
+ # 广告活动ID
1801
+ campaign_id: int
1802
+ # 广告组ID
1803
+ ad_group_id: IntOrNone2Zero
1804
+ # 目标商品广告ID
1805
+ target_id: int
1806
+ # 广告创意类型
1807
+ creative_type: str
1808
+ # 广告花费
1809
+ cost: float
1810
+ # 总展示次数
1811
+ impressions: int
1812
+ # 总点击次数
1813
+ clicks: int
1814
+ # 广告订单数
1815
+ orders: int
1816
+ # 直接广告订单数 [原字段 'same_orders']
1817
+ direct_orders: int = Field(validation_alias="same_orders")
1818
+ # 品牌新买家广告订单数
1819
+ new_to_brand_orders: int
1820
+ # 品牌新买家订单占比 [原字段 'new_to_brand_order_percentage']
1821
+ # (品牌新买家广告订单数 / 广告订单数 x 100%)
1822
+ new_to_brand_order_pct: float = Field(validation_alias="new_to_brand_order_percentage")
1823
+ # 品牌新买家订单转化率
1824
+ # (品牌新买家广告订单数 / 总点击次数 x 100%)
1825
+ new_to_brand_order_rate: float
1826
+ # 广告成交商品件数
1827
+ units: int
1828
+ # 直接广告成交商品件数 [原字段 'same_units']
1829
+ direct_units: int = Field(validation_alias="same_units")
1830
+ # 品牌新买家成交商品件数
1831
+ new_to_brand_units: int
1832
+ # 广告销售额
1833
+ sales: float
1834
+ # 直接广告销售额 [原字段 'same_sales']
1835
+ direct_sales: float = Field(validation_alias="same_sales")
1836
+ # 品牌新买家销售额
1837
+ new_to_brand_sales: float
1838
+ # 报告日期
1839
+ report_date: str
1840
+ # fmt: on
1841
+
1842
+
1843
+ class SbTargetReports(ResponseV1Token):
1844
+ """SB 目标商品投放报告列表"""
1845
+
1846
+ data: list[SbTargetReport]
1847
+
1848
+
1849
+ # . SB Targeting Hour Data
1850
+ class SbTargetingHour(BaseModel):
1851
+ """SB 目标关键词或商品投放小时数据"""
1852
+
1853
+ # 亚马逊店铺ID (广告帐号ID)
1854
+ profile_id: int
1855
+ # 广告活动ID
1856
+ campaign_id: int
1857
+ # 广告组ID [原字段 'group_id']
1858
+ ad_group_id: IntOrNone2Zero = Field(validation_alias="group_id")
1859
+ # 目标定位ID (keyword_id 或 target_id)
1860
+ targeting_id: int
1861
+ # 目标定位文本 [原字段 'targeting']
1862
+ targeting_text: str = Field(validation_alias="targeting")
1863
+ # 广告花费
1864
+ cost: float
1865
+ # 总展示次数
1866
+ impressions: int
1867
+ # 总点击次数
1868
+ clicks: int
1869
+ # 广告订单数
1870
+ orders: int
1871
+ # 直接广告订单数 [原字段 'same_orders']
1872
+ direct_orders: int = Field(validation_alias="same_orders")
1873
+ # 广告成交商品件数
1874
+ units: int
1875
+ # 广告销售额
1876
+ sales: float
1877
+ # 直接广告销售额 [原字段 'same_sales']
1878
+ direct_sales: float = Field(validation_alias="same_sales")
1879
+ # 点击率 - Click Through Rate (总点击次数 / 总展示次数)
1880
+ ctr: FloatOrNone2Zero
1881
+ # 转化率 - Conversion Rate (广告订单数 / 总点击次数)
1882
+ cvr: FloatOrNone2Zero
1883
+ # 平均点击花费 - Cost Per Click (广告花费 / 总点击次数)
1884
+ cpc: FloatOrNone2Zero
1885
+ # 平均订单花费 - Cost Per Acquisition (广告花费 / 广告订单数)
1886
+ cpa: FloatOrNone2Zero
1887
+ # 广告花费占比 - Ad Cost of Sales (广告花费 / 广告销售额)
1888
+ acos: FloatOrNone2Zero
1889
+ # 广告投入回报 - Return On Ad Spend (广告销售额 / 广告花费)
1890
+ roas: FloatOrNone2Zero
1891
+ # 数据所属小时 (0-23)
1892
+ hour: int
1893
+ # 报告日期
1894
+ report_date: str
1895
+
1896
+
1897
+ class SbTargetingHourData(ResponseV1):
1898
+ """SB 目标关键词或商品投放小时数据列表"""
1899
+
1900
+ data: list[SbTargetingHour]
1901
+
1902
+
1903
+ # . SB Query Word Reports
1904
+ class SbQueryWordReport(BaseModel):
1905
+ """SB 用户搜索词报告"""
1906
+
1907
+ # 亚马逊店铺ID (广告帐号ID)
1908
+ profile_id: int
1909
+ # 广告活动ID
1910
+ campaign_id: int
1911
+ # 广告组ID
1912
+ ad_group_id: IntOrNone2Zero
1913
+ # 关键词ID [原字段 'target_id']
1914
+ keyword_id: int = Field(validation_alias="target_id")
1915
+ # 关键词文本 [原字段 'target_text']
1916
+ keyword_text: str = Field(validation_alias="target_text")
1917
+ # 用户使用搜索词 [原字段 'query']
1918
+ query_text: str = Field(validation_alias="query")
1919
+ # 关键词匹配类型
1920
+ match_type: str
1921
+ # 广告花费
1922
+ cost: float
1923
+ # 总展示次数
1924
+ impressions: int
1925
+ # 总点击次数
1926
+ clicks: int
1927
+ # 广告订单数
1928
+ orders: int
1929
+ # 广告销售额
1930
+ sales: float
1931
+ # 视频广告播放25%次数 [原字段 'video_first_quartile_views']
1932
+ video_25pct_views: int = Field(validation_alias="video_first_quartile_views")
1933
+ # 视频广告播放50%次数 [原字段 'video_midpoint_views']
1934
+ video_50pct_views: int = Field(validation_alias="video_midpoint_views")
1935
+ # 视频广告播放75%次数 [原字段 'video_third_quartile_views']
1936
+ video_75pct_views: int = Field(validation_alias="video_third_quartile_views")
1937
+ # 视频广告播放100%次数 [原字段 'video_complete_views']
1938
+ video_100pct_views: int = Field(validation_alias="video_complete_views")
1939
+ # 视频广告播放5秒次数 [原字段 'video_5_second_views']
1940
+ video_5sec_views: int = Field(validation_alias="video_5_second_views")
1941
+ # 视频广告播放5秒观看率 [原字段 'video_5_second_view_rate']
1942
+ video_5sec_view_rate: float = Field(validation_alias="video_5_second_view_rate")
1943
+ # 视频广告静音取消次数 [原字段 'video_unmutes']
1944
+ video_unmutes: int = Field(validation_alias="video_unmutes")
1945
+ # 报告日期
1946
+ report_date: str
1947
+
1948
+
1949
+ class SbQueryWordReports(ResponseV1Token):
1950
+ """SB 用户搜索词报告列表"""
1951
+
1952
+ data: list[SbQueryWordReport]
1953
+
1954
+
1955
+ # . SB ASIN Attribution Reports
1956
+ class SbAsinAttributionReport(BaseModel):
1957
+ """SB 广告商品归因报告"""
1958
+
1959
+ # fmt: off
1960
+ # 亚马逊店铺ID (广告帐号ID)
1961
+ profile_id: int
1962
+ # 广告活动ID
1963
+ campaign_id: int
1964
+ # 广告活动名称
1965
+ campaign_name: str
1966
+ # 广告组ID
1967
+ ad_group_id: int
1968
+ # 广告组名称
1969
+ ad_group_name: str
1970
+ # 归因类型
1971
+ attribution_type: str
1972
+ # 商品ASIN
1973
+ asin: str
1974
+ # 广告14天订单数 [原字段 'orders14d']
1975
+ orders_14d: int = Field(validation_alias="orders14d")
1976
+ # 品牌新买家14天订单数 [原字段 'new_to_brand_purchases14d']
1977
+ new_to_brand_orders_14d: int = Field(validation_alias="new_to_brand_purchases14d")
1978
+ # 品牌新买家订单占比14天 [原字段 'new_to_brand_purchases_percentage14d']
1979
+ # (品牌新买家14天订单数 / 广告14天订单数 x 100%)
1980
+ new_to_brand_order_pct_14d: float = Field(validation_alias="new_to_brand_purchases_percentage14d")
1981
+ # 广告14天成交商品件数 [原字段 'units_sold14d']
1982
+ units_14d: int = Field(validation_alias="units_sold14d")
1983
+ # 品牌新买家14天成交商品件数 [原字段 'new_to_brand_units_sold14d']
1984
+ new_to_brand_units_14d: int = Field(validation_alias="new_to_brand_units_sold14d")
1985
+ # 品牌新买家成交商品件数占比14天 [原字段 'new_to_brand_units_sold_percentage14d']
1986
+ # (品牌新买家14天成交商品件数 / 广告14天成交商品件数 x 100%)
1987
+ new_to_brand_units_pct_14d: float = Field(validation_alias="new_to_brand_units_sold_percentage14d")
1988
+ # 广告14天销售
1989
+ sales_14d: float = Field(validation_alias="sales14d")
1990
+ # 品牌新买家14天销售额 [原字段 'new_to_brand_sales14d']
1991
+ new_to_brand_sales_14d: float = Field(validation_alias="new_to_brand_sales14d")
1992
+ # 品牌新买家销售额占比14天 [原字段 'new_to_brand_sales_percentage14d']
1993
+ # (品牌新买家14天销售额 / 广告14天销售 x 100%)
1994
+ new_to_brand_sales_pct_14d: float = Field(validation_alias="new_to_brand_sales_percentage14d")
1995
+ # 报告日期
1996
+ report_date: str
1997
+ # fmt: on
1998
+
1999
+
2000
+ class SbAsinAttributionReports(ResponseV1Token):
2001
+ """SB 广告商品归因报告列表"""
2002
+
2003
+ data: list[SbAsinAttributionReport]
2004
+
2005
+
2006
+ # . SB Cost Allocation Reports
2007
+ class SbCostAllocationReport(BaseModel):
2008
+ """SB 广告费用分摊报告"""
2009
+
2010
+ # 亚马逊店铺ID (广告帐号ID)
2011
+ profile_id: int
2012
+ # 广告活动ID
2013
+ campaign_id: int
2014
+ # 广告组ID
2015
+ ad_group_id: IntOrNone2Zero
2016
+ # 部门ID
2017
+ department_id: IntOrNone2Zero
2018
+ # 设置分摊的事务ID, 用于追踪具体的分摊规则 (UUID) [原字段 'transaction_uuid']
2019
+ allocation_rule_id: StrOrNone2Blank = Field(validation_alias="transaction_uuid")
2020
+ # 分摊产品的MD5值 (ad_group_id, asin, sku) [原字段 'divide_asin_md5']
2021
+ allocation_asin_id: str = Field(validation_alias="divide_asin_md5")
2022
+ # 分摊比率 (0.0 - 1.0) [原字段 'percent']
2023
+ allocation_ratio: float = Field(validation_alias="percent")
2024
+ # 商品ASIN
2025
+ asin: str
2026
+ # 商品SKU [原字段 'sku']
2027
+ msku: str = Field(validation_alias="sku")
2028
+ # 分摊后的广告花费 [原字段 'spends']
2029
+ costs: float = Field(validation_alias="spends")
2030
+ # 分摊后的展示次数
2031
+ impressions: float
2032
+ # 分摊后的点击次数
2033
+ clicks: float
2034
+ # 分摊后的广告订单数
2035
+ orders: float
2036
+ # 分摊后的直接广告订单数 [原字段 'same_orders']
2037
+ direct_orders: float = Field(validation_alias="same_orders")
2038
+ # 分摊后的广告成交商品件数 [原字段 'units_sold']
2039
+ units: float = Field(validation_alias="units_sold")
2040
+ # 分摊后的直接广告成交商品件数 [原字段 'same_units_sold']
2041
+ direct_units: float = Field(validation_alias="same_units_sold")
2042
+ # 分摊后的广告销售额
2043
+ sales: float
2044
+ # 分摊后的直接广告销售额 [原字段 'same_sales']
2045
+ direct_sales: float = Field(validation_alias="same_sales")
2046
+ # 报告日期
2047
+ report_date: str
2048
+
2049
+
2050
+ class SbCostAllocationReports(ResponseV1Token):
2051
+ """SB 广告费用分摊报告"""
2052
+
2053
+ data: list[SbCostAllocationReport]
2054
+
2055
+
2056
+ # 报告 - Sponsored Display - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2057
+ # . SD Campaign Reports
2058
+ class SdCampaignReport(BaseModel):
2059
+ """SD 广告活动报告"""
2060
+
2061
+ # 亚马逊店铺ID (广告帐号ID)
2062
+ profile_id: int
2063
+ # 广告活动ID
2064
+ campaign_id: int
2065
+ # 投放策略
2066
+ tactic: str
2067
+ # 广告花费
2068
+ cost: float
2069
+ # 总展示次数
2070
+ impressions: int
2071
+ # 可见展示次数 [原字段 'view_impressions']
2072
+ viewable_impressions: int = Field(validation_alias="view_impressions")
2073
+ # 总点击次数
2074
+ clicks: int
2075
+ # 广告订单数
2076
+ orders: int
2077
+ # 直接广告订单数 [原字段 'same_orders']
2078
+ direct_orders: int = Field(validation_alias="same_orders")
2079
+ # 广告成交商品件数
2080
+ units: int
2081
+ # 广告销售额
2082
+ sales: float
2083
+ # 直接广告销售额 [原字段 'same_sales']
2084
+ direct_sales: float = Field(validation_alias="same_sales")
2085
+ # 报告日期
2086
+ report_date: str
2087
+
2088
+
2089
+ class SdCampaignReports(ResponseV1Token):
2090
+ """SD 广告活动报告列表"""
2091
+
2092
+ data: list[SdCampaignReport]
2093
+
2094
+
2095
+ # . SD Campaign Hour Data
2096
+ class SdCampaignHour(BaseModel):
2097
+ """SD 广告活动小时数据"""
2098
+
2099
+ # 亚马逊店铺ID (广告帐号ID)
2100
+ profile_id: int
2101
+ # 广告活动ID
2102
+ campaign_id: int
2103
+ # 广告花费
2104
+ cost: float
2105
+ # 总展示次数
2106
+ impressions: int
2107
+ # 总点击次数
2108
+ clicks: int
2109
+ # 广告订单数
2110
+ orders: int
2111
+ # 直接广告订单数 [原字段 'same_orders']
2112
+ direct_orders: int = Field(validation_alias="same_orders")
2113
+ # 广告成交商品件数
2114
+ units: int
2115
+ # 广告销售额
2116
+ sales: float
2117
+ # 直接广告销售额 [原字段 'same_sales']
2118
+ direct_sales: float = Field(validation_alias="same_sales")
2119
+ # 点击率 - Click Through Rate (总点击次数 / 总展示次数)
2120
+ ctr: FloatOrNone2Zero
2121
+ # 转化率 - Conversion Rate (广告订单数 / 总点击次数)
2122
+ cvr: FloatOrNone2Zero
2123
+ # 平均点击花费 - Cost Per Click (广告花费 / 总点击次数)
2124
+ cpc: FloatOrNone2Zero
2125
+ # 平均订单花费 - Cost Per Acquisition (广告花费 / 广告订单数)
2126
+ cpa: FloatOrNone2Zero
2127
+ # 广告花费占比 - Ad Cost of Sales (广告花费 / 广告销售额)
2128
+ acos: FloatOrNone2Zero
2129
+ # 广告投入回报 - Return On Ad Spend (广告销售额 / 广告花费)
2130
+ roas: FloatOrNone2Zero
2131
+ # 数据所属小时 (0-23)
2132
+ hour: int
2133
+ # 报告日期
2134
+ report_date: str
2135
+
2136
+
2137
+ class SdCampaignHourData(ResponseV1):
2138
+ """SD 广告活动小时数据列表"""
2139
+
2140
+ data: list[SdCampaignHour]
2141
+
2142
+
2143
+ # . SD Ad Group Reports
2144
+ class SdAdGroupReport(BaseModel):
2145
+ """SD 广告组报告"""
2146
+
2147
+ # 亚马逊店铺ID (广告帐号ID)
2148
+ profile_id: int
2149
+ # 广告活动ID
2150
+ campaign_id: int
2151
+ # 广告组ID
2152
+ ad_group_id: int
2153
+ # 投放策略
2154
+ tactic: str
2155
+ # 广告花费
2156
+ cost: float
2157
+ # 总展示次数
2158
+ impressions: int
2159
+ # 可见展示次数 [原字段 'view_impressions']
2160
+ viewable_impressions: int = Field(validation_alias="view_impressions")
2161
+ # 总点击次数
2162
+ clicks: int
2163
+ # 广告订单数
2164
+ orders: int
2165
+ # 直接广告订单数 [原字段 'same_orders']
2166
+ direct_orders: int = Field(validation_alias="same_orders")
2167
+ # 广告成交商品件数
2168
+ units: int
2169
+ # 广告销售额
2170
+ sales: float
2171
+ # 直接广告销售额 [原字段 'same_sales']
2172
+ direct_sales: float = Field(validation_alias="same_sales")
2173
+ # 报告日期
2174
+ report_date: str
2175
+
2176
+
2177
+ class SdAdGroupReports(ResponseV1Token):
2178
+ """SD 广告组报告列表"""
2179
+
2180
+ data: list[SdAdGroupReport]
2181
+
2182
+
2183
+ # . SD Ad Group Hour Data
2184
+ class SdAdGroupHour(BaseModel):
2185
+ """SD 广告组小时数据"""
2186
+
2187
+ # 亚马逊店铺ID (广告帐号ID)
2188
+ profile_id: int
2189
+ # 广告活动ID
2190
+ campaign_id: int
2191
+ # 广告组ID [原字段 'group_id']
2192
+ ad_group_id: int = Field(validation_alias="group_id")
2193
+ # 广告花费
2194
+ cost: float
2195
+ # 总展示次数
2196
+ impressions: int
2197
+ # 总点击次数
2198
+ clicks: int
2199
+ # 广告订单数
2200
+ orders: int
2201
+ # 直接广告订单数 [原字段 'same_orders']
2202
+ direct_orders: int = Field(validation_alias="same_orders")
2203
+ # 广告成交商品件数
2204
+ units: int
2205
+ # 广告销售额
2206
+ sales: float
2207
+ # 直接广告销售额 [原字段 'same_sales']
2208
+ direct_sales: float = Field(validation_alias="same_sales")
2209
+ # 点击率 - Click Through Rate (总点击次数 / 总展示次数)
2210
+ ctr: FloatOrNone2Zero
2211
+ # 转化率 - Conversion Rate (广告订单数 / 总点击次数)
2212
+ cvr: FloatOrNone2Zero
2213
+ # 平均点击花费 - Cost Per Click (广告花费 / 总点击次数)
2214
+ cpc: FloatOrNone2Zero
2215
+ # 平均订单花费 - Cost Per Acquisition (广告花费 / 广告订单数)
2216
+ cpa: FloatOrNone2Zero
2217
+ # 广告花费占比 - Ad Cost of Sales (广告花费 / 广告销售额)
2218
+ acos: FloatOrNone2Zero
2219
+ # 广告投入回报 - Return On Ad Spend (广告销售额 / 广告花费)
2220
+ roas: FloatOrNone2Zero
2221
+ # 数据所属小时 (0-23)
2222
+ hour: int
2223
+ # 报告日期
2224
+ report_date: str
2225
+
2226
+
2227
+ class SdAdGroupHourData(ResponseV1):
2228
+ """SD 广告组小时数据列表"""
2229
+
2230
+ data: list[SdAdGroupHour]
2231
+
2232
+
2233
+ # . SD Product Reports
2234
+ class SdProductReport(BaseModel):
2235
+ """SD 商品投放报告"""
2236
+
2237
+ # 亚马逊店铺ID (广告帐号ID)
2238
+ profile_id: int
2239
+ # 广告活动ID
2240
+ campaign_id: int
2241
+ # 广告组ID
2242
+ ad_group_id: IntOrNone2Zero
2243
+ # 商品广告ID
2244
+ ad_id: int
2245
+ # 投放策略
2246
+ tactic: str
2247
+ # 商品ASIN
2248
+ asin: str
2249
+ # 亚马逊SKU [原字段 'sku']
2250
+ msku: str = Field(validation_alias="sku")
2251
+ # 广告花费
2252
+ cost: float
2253
+ # 总展示次数
2254
+ impressions: int
2255
+ # 可见展示次数 [原字段 'view_impressions']
2256
+ viewable_impressions: int = Field(validation_alias="view_impressions")
2257
+ # 总点击次数
2258
+ clicks: int
2259
+ # 广告订单数
2260
+ orders: int
2261
+ # 直接广告订单数 [原字段 'same_orders']
2262
+ direct_orders: int = Field(validation_alias="same_orders")
2263
+ # 广告成交商品件数
2264
+ units: int
2265
+ # 广告销售额
2266
+ sales: float
2267
+ # 直接广告销售额 [原字段 'same_sales']
2268
+ direct_sales: float = Field(validation_alias="same_sales")
2269
+ # 报告日期
2270
+ report_date: str
2271
+
2272
+
2273
+ class SdProductReports(ResponseV1Token):
2274
+ """SD 商品投放报告列表"""
2275
+
2276
+ data: list[SdProductReport]
2277
+
2278
+
2279
+ # . SD Product Hour Data
2280
+ class SpdProductHour(BaseModel):
2281
+ """SD 商品投放小时数据"""
2282
+
2283
+ # 亚马逊店铺ID (广告帐号ID)
2284
+ profile_id: int
2285
+ # 广告活动ID
2286
+ campaign_id: int
2287
+ # 广告组ID [原字段 'group_id']
2288
+ ad_group_id: IntOrNone2Zero = Field(validation_alias="group_id")
2289
+ # 商品广告ID
2290
+ ad_id: int
2291
+ # 商品ASIN
2292
+ asin: str
2293
+ # 亚马逊SKU
2294
+ msku: str
2295
+ # 广告花费
2296
+ cost: float
2297
+ # 总展示次数
2298
+ impressions: int
2299
+ # 总点击次数
2300
+ clicks: int
2301
+ # 广告订单数
2302
+ orders: int
2303
+ # 直接广告订单数 [原字段 'same_orders']
2304
+ direct_orders: int = Field(validation_alias="same_orders")
2305
+ # 广告成交商品件数
2306
+ units: int
2307
+ # 广告销售额
2308
+ sales: float
2309
+ # 直接广告销售额 [原字段 'same_sales']
2310
+ direct_sales: float = Field(validation_alias="same_sales")
2311
+ # 点击率 - Click Through Rate (总点击次数 / 总展示次数)
2312
+ ctr: FloatOrNone2Zero
2313
+ # 转化率 - Conversion Rate (广告订单数 / 总点击次数)
2314
+ cvr: FloatOrNone2Zero
2315
+ # 平均点击花费 - Cost Per Click (广告花费 / 总点击次数)
2316
+ cpc: FloatOrNone2Zero
2317
+ # 平均订单花费 - Cost Per Acquisition (广告花费 / 广告订单数)
2318
+ cpa: FloatOrNone2Zero
2319
+ # 广告花费占比 - Ad Cost of Sales (广告花费 / 广告销售额)
2320
+ acos: FloatOrNone2Zero
2321
+ # 广告投入回报 - Return On Ad Spend (广告销售额 / 广告花费)
2322
+ roas: FloatOrNone2Zero
2323
+ # 数据所属小时 (0-23)
2324
+ hour: int
2325
+ # 报告日期
2326
+ report_date: str
2327
+
2328
+
2329
+ class SdProductHourData(ResponseV1):
2330
+ """SD 商品投放小时数据列表"""
2331
+
2332
+ data: list[SpdProductHour]
2333
+
2334
+
2335
+ # . SD Target Reports
2336
+ class SdTargetReport(BaseModel):
2337
+ """SD 目标商品投放报告"""
2338
+
2339
+ # 亚马逊店铺ID (广告帐号ID)
2340
+ profile_id: int
2341
+ # 广告活动ID
2342
+ campaign_id: int
2343
+ # 广告组ID
2344
+ ad_group_id: IntOrNone2Zero
2345
+ # 目标商品广告ID
2346
+ target_id: int
2347
+ # 目标商品文本 [原字段 'targeting_expression']
2348
+ target_text: str = Field(validation_alias="targeting_expression")
2349
+ # 目标定位类型 [原字段 'targeting_type']
2350
+ expression_type: StrOrNone2Blank = Field(validation_alias="targeting_type")
2351
+ # 目标定位表达式 (JSON 字符串) [原字段 'targeting_text']
2352
+ expression: str = Field(validation_alias="targeting_text")
2353
+ # 投放策略
2354
+ tactic: str
2355
+ # 广告花费
2356
+ cost: float
2357
+ # 总展示次数
2358
+ impressions: int
2359
+ # 可见展示次数 [原字段 'view_impressions']
2360
+ viewable_impressions: int = Field(validation_alias="view_impressions")
2361
+ # 总点击次数
2362
+ clicks: int
2363
+ # 广告订单数
2364
+ orders: int
2365
+ # 直接广告订单数 [原字段 'same_orders']
2366
+ direct_orders: int = Field(validation_alias="same_orders")
2367
+ # 广告成交商品件数
2368
+ units: int
2369
+ # 广告销售额
2370
+ sales: float
2371
+ # 直接广告销售额 [原字段 'same_sales']
2372
+ direct_sales: float = Field(validation_alias="same_sales")
2373
+ # 报告日期
2374
+ report_date: str
2375
+
2376
+
2377
+ class SdTargetReports(ResponseV1Token):
2378
+ """SD 目标商品投放报告列表"""
2379
+
2380
+ data: list[SdTargetReport]
2381
+
2382
+
2383
+ # . SD Target Hour Data
2384
+ class SdTargetHour(BaseModel):
2385
+ """SD 目标商品投放小时数据"""
2386
+
2387
+ # 亚马逊店铺ID (广告帐号ID)
2388
+ profile_id: int
2389
+ # 广告活动ID
2390
+ campaign_id: int
2391
+ # 广告组ID [原字段 'group_id']
2392
+ ad_group_id: IntOrNone2Zero = Field(validation_alias="group_id")
2393
+ # 商品广告ID
2394
+ ad_id: int
2395
+ # 目标商品广告ID [原字段 'targeting_id']
2396
+ target_id: int = Field(validation_alias="targeting_id")
2397
+ # 目标定位文本 [原字段 'targeting']
2398
+ target_text: str = Field(validation_alias="targeting")
2399
+ # 商品ASIN
2400
+ asin: str
2401
+ # 亚马逊SKU
2402
+ msku: str
2403
+ # 广告花费
2404
+ cost: float
2405
+ # 总展示次数
2406
+ impressions: int
2407
+ # 总点击次数
2408
+ clicks: int
2409
+ # 广告订单数
2410
+ orders: int
2411
+ # 直接广告订单数 [原字段 'same_orders']
2412
+ direct_orders: int = Field(validation_alias="same_orders")
2413
+ # 广告成交商品件数
2414
+ units: int
2415
+ # 广告销售额
2416
+ sales: float
2417
+ # 直接广告销售额 [原字段 'same_sales']
2418
+ direct_sales: float = Field(validation_alias="same_sales")
2419
+ # 点击率 - Click Through Rate (总点击次数 / 总展示次数)
2420
+ ctr: FloatOrNone2Zero
2421
+ # 转化率 - Conversion Rate (广告订单数 / 总点击次数)
2422
+ cvr: FloatOrNone2Zero
2423
+ # 平均点击花费 - Cost Per Click (广告花费 / 总点击次数)
2424
+ cpc: FloatOrNone2Zero
2425
+ # 平均订单花费 - Cost Per Acquisition (广告花费 / 广告订单数)
2426
+ cpa: FloatOrNone2Zero
2427
+ # 广告花费占比 - Ad Cost of Sales (广告花费 / 广告销售额)
2428
+ acos: FloatOrNone2Zero
2429
+ # 广告投入回报 - Return On Ad Spend (广告销售额 / 广告花费)
2430
+ roas: FloatOrNone2Zero
2431
+ # 数据所属小时 (0-23)
2432
+ hour: int
2433
+ # 报告日期
2434
+ report_date: str
2435
+
2436
+
2437
+ class SdTargetHourData(ResponseV1):
2438
+ """SD 目标商品投放小时数据列表"""
2439
+
2440
+ data: list[SdTargetHour]
2441
+
2442
+
2443
+ # . SD Matched Target Reports
2444
+ class SdMatchedTargetReport(BaseModel):
2445
+ """SD 匹配的目标商品投放报告"""
2446
+
2447
+ # 亚马逊店铺ID (广告帐号ID)
2448
+ profile_id: int
2449
+ # 广告活动ID
2450
+ campaign_id: int
2451
+ # 广告组ID
2452
+ ad_group_id: IntOrNone2Zero
2453
+ # 目标商品广告ID
2454
+ target_id: int
2455
+ # 目标定位表达式 (JSON 字符串) [原字段 'target_text']
2456
+ expression: str = Field(validation_alias="target_text")
2457
+ # 匹配的目标商品 (ASIN)
2458
+ matched_target: str
2459
+ # 货币代码 [原字段 'currency']
2460
+ currency_code: StrOrNone2Blank = Field(validation_alias="currency")
2461
+ # 广告花费
2462
+ cost: float
2463
+ # 总展示次数
2464
+ impressions: int
2465
+ # 可见展示次数 [原字段 'view_impressions']
2466
+ viewable_impressions: int = Field(validation_alias="view_impressions")
2467
+ # 总点击次数
2468
+ clicks: int
2469
+ # 广告订单数
2470
+ orders: int
2471
+ # 直接广告订单数 [原字段 'same_orders']
2472
+ direct_orders: int = Field(validation_alias="same_orders")
2473
+ # 品牌新买家广告订单数
2474
+ new_to_brand_orders: int
2475
+ # 广告成交商品件数
2476
+ units: int
2477
+ # 品牌新买家成交商品件数
2478
+ new_to_brand_units: int
2479
+ # 广告销售额
2480
+ sales: float
2481
+ # 直接广告销售额 [原字段 'same_sales']
2482
+ direct_sales: float = Field(validation_alias="same_sales")
2483
+ # 品牌新买家销售额
2484
+ new_to_brand_sales: float
2485
+ # 报告日期
2486
+ report_date: str
2487
+
2488
+
2489
+ class SdMatchedTargetReports(ResponseV1Token):
2490
+ """SD 匹配的目标商品投放报告列表"""
2491
+
2492
+ data: list[SdMatchedTargetReport]
2493
+
2494
+
2495
+ # 报告 - Demand-Side Platform - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2496
+ # . DSP Reports
2497
+ class DspReport(BaseModel):
2498
+ """DSP 报告"""
2499
+
2500
+ # 亚马逊店铺ID (广告帐号ID)
2501
+ profile_id: int
2502
+ # 广告主ID
2503
+ advertiser_id: int
2504
+ # 广告主名称
2505
+ advertiser_name: str
2506
+ # 订单ID
2507
+ order_id: str
2508
+ # 订单名称
2509
+ order_name: str
2510
+ # 订单开始时间
2511
+ order_start_date: str
2512
+ # 订单结束时间
2513
+ order_end_date: str
2514
+ # 预算 [原字段 'order_budget']
2515
+ budget: float = Field(validation_alias="order_budget")
2516
+ # 广告花费 [原字段 'spends']
2517
+ costs: float = Field(validation_alias="spends")
2518
+ # 总展示次数
2519
+ impressions: int
2520
+ # 可见展示次数
2521
+ viewable_impressions: int
2522
+ # 总点击次数
2523
+ clicks: int
2524
+ # 商品详情页浏览次数 [原字段 'dpv']
2525
+ page_views: int = Field(validation_alias="dpv")
2526
+ # 加购次数 [原字段 'total_add_to_cart']
2527
+ add_to_cart_count: int = Field(validation_alias="total_add_to_cart")
2528
+ # 订单数
2529
+ orders: int
2530
+ # 销量 [原字段 'ad_units']
2531
+ units: int = Field(validation_alias="ad_units")
2532
+ # 销售额
2533
+ sales: float
2534
+ # 币种 [原字段 'order_currency']
2535
+ currency_code: str = Field(validation_alias="order_currency")
2536
+
2537
+
2538
+ class DspReports(ResponseV1):
2539
+ """DSP 报告列表"""
2540
+
2541
+ data: list[DspReport]
2542
+
2543
+
2544
+ # 报表下载 ----------------------------------------------------------------------------------------------------------------------
2545
+ # . Download ABA Report
2546
+ class AbaReportUrl(BaseModel):
2547
+ """ABA 报告下载链接"""
2548
+
2549
+ # 国家代码 [原字段 'country']
2550
+ country_code: str = Field(validation_alias="country")
2551
+ # 报告周期
2552
+ report_period: str
2553
+ # 报告开始日期 [原字段 'data_start_time']
2554
+ start_date: str = Field(validation_alias="data_start_time")
2555
+ # 下载链接
2556
+ url: str
2557
+
2558
+
2559
+ class DownloadAbaReport(ResponseV1):
2560
+ """下载 ABA 报告信息"""
2561
+
2562
+ data: AbaReportUrl
2563
+
2564
+
2565
+ # 操作日志 ----------------------------------------------------------------------------------------------------------------------
2566
+ class AdsOperation(BaseModel):
2567
+ """广告操作"""
2568
+
2569
+ # 操作编码
2570
+ code: str
2571
+ # 操作值
2572
+ value: str
2573
+
2574
+
2575
+ class AdsOperationLog(BaseModel):
2576
+ """广告操作日志"""
2577
+
2578
+ # 亚马逊店铺ID (广告帐号ID)
2579
+ profile_id: int
2580
+ # 广告活动ID
2581
+ campaign_id: int
2582
+ # 广告活动名称
2583
+ campaign_name: str
2584
+ # 广告组ID
2585
+ ad_group_id: IntOrNone2Zero
2586
+ # 广告组名称
2587
+ ad_group_name: StrOrNone2Blank
2588
+ # 广告对象ID [原字段 'object_id']
2589
+ ad_object_id: IntOrNone2Zero = Field(validation_alias="object_id")
2590
+ # 广告对象名称 [原字段 'object_name']
2591
+ ad_object_name: StrOrNone2Blank = Field(validation_alias="object_name")
2592
+ # 广告类型 [原字段 'sponsored_type']
2593
+ ad_type: str = Field(validation_alias="sponsored_type")
2594
+ # 操作用户ID [原字段 'user_id']
2595
+ operator_id: int = Field(validation_alias="user_id")
2596
+ # 操作用户名称 [原字段 'user_name']
2597
+ operator_name: str = Field(validation_alias="user_name")
2598
+ # 操作对象 [原字段 'operate_type']
2599
+ operation_target: str = Field(validation_alias="operate_type")
2600
+ # 操作类型 [原字段 'change_type']
2601
+ operation_type: str = Field(validation_alias="change_type")
2602
+ # 操作来源 [原字段 'function_name']
2603
+ operation_source: str = Field(validation_alias="function_name")
2604
+ # 操作时间 [原字段 'operate_time']
2605
+ operation_time: str = Field(validation_alias="operate_time")
2606
+ # 操作前列表 [原字段 'operate_before']
2607
+ before: list[AdsOperation] = Field(validation_alias="operate_before")
2608
+ # 操作后列表 [原字段 'operate_after']
2609
+ after: list[AdsOperation] = Field(validation_alias="operate_after")
2610
+
2611
+
2612
+ class AdsOperationLogs(ResponseV1):
2613
+ """广告操作日志"""
2614
+
2615
+ data: list[AdsOperationLog]