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.
- lingxingapi/__init__.py +7 -0
- lingxingapi/ads/__init__.py +0 -0
- lingxingapi/ads/api.py +5946 -0
- lingxingapi/ads/param.py +192 -0
- lingxingapi/ads/route.py +134 -0
- lingxingapi/ads/schema.py +2615 -0
- lingxingapi/api.py +557 -0
- lingxingapi/base/__init__.py +0 -0
- lingxingapi/base/api.py +568 -0
- lingxingapi/base/param.py +59 -0
- lingxingapi/base/route.py +11 -0
- lingxingapi/base/schema.py +198 -0
- lingxingapi/basic/__init__.py +0 -0
- lingxingapi/basic/api.py +466 -0
- lingxingapi/basic/param.py +72 -0
- lingxingapi/basic/route.py +20 -0
- lingxingapi/basic/schema.py +218 -0
- lingxingapi/errors.py +152 -0
- lingxingapi/fba/__init__.py +0 -0
- lingxingapi/fba/api.py +1691 -0
- lingxingapi/fba/param.py +250 -0
- lingxingapi/fba/route.py +30 -0
- lingxingapi/fba/schema.py +987 -0
- lingxingapi/fields.py +50 -0
- lingxingapi/finance/__init__.py +0 -0
- lingxingapi/finance/api.py +3091 -0
- lingxingapi/finance/param.py +616 -0
- lingxingapi/finance/route.py +44 -0
- lingxingapi/finance/schema.py +1243 -0
- lingxingapi/product/__init__.py +0 -0
- lingxingapi/product/api.py +2643 -0
- lingxingapi/product/param.py +934 -0
- lingxingapi/product/route.py +49 -0
- lingxingapi/product/schema.py +1004 -0
- lingxingapi/purchase/__init__.py +0 -0
- lingxingapi/purchase/api.py +496 -0
- lingxingapi/purchase/param.py +126 -0
- lingxingapi/purchase/route.py +11 -0
- lingxingapi/purchase/schema.py +215 -0
- lingxingapi/sales/__init__.py +0 -0
- lingxingapi/sales/api.py +3200 -0
- lingxingapi/sales/param.py +723 -0
- lingxingapi/sales/route.py +70 -0
- lingxingapi/sales/schema.py +1718 -0
- lingxingapi/source/__init__.py +0 -0
- lingxingapi/source/api.py +1799 -0
- lingxingapi/source/param.py +176 -0
- lingxingapi/source/route.py +38 -0
- lingxingapi/source/schema.py +1011 -0
- lingxingapi/tools/__init__.py +0 -0
- lingxingapi/tools/api.py +291 -0
- lingxingapi/tools/param.py +73 -0
- lingxingapi/tools/route.py +8 -0
- lingxingapi/tools/schema.py +169 -0
- lingxingapi/utils.py +456 -0
- lingxingapi/warehourse/__init__.py +0 -0
- lingxingapi/warehourse/api.py +1778 -0
- lingxingapi/warehourse/param.py +506 -0
- lingxingapi/warehourse/route.py +28 -0
- lingxingapi/warehourse/schema.py +926 -0
- lingxingapi-1.1.4.dist-info/METADATA +73 -0
- lingxingapi-1.1.4.dist-info/RECORD +65 -0
- lingxingapi-1.1.4.dist-info/WHEEL +5 -0
- lingxingapi-1.1.4.dist-info/licenses/LICENSE +22 -0
- lingxingapi-1.1.4.dist-info/top_level.txt +1 -0
lingxingapi/ads/param.py
ADDED
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
from typing import Optional
|
|
3
|
+
from pydantic import ValidationInfo, Field, field_validator
|
|
4
|
+
from lingxingapi import utils
|
|
5
|
+
from lingxingapi.base.param import Parameter, PageOffestAndLength
|
|
6
|
+
from lingxingapi.fields import NonEmptyStr, CountryCode, NonNegativeInt
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
# 基础数据 ----------------------------------------------------------------------------------------------------------------------
|
|
10
|
+
# . Ads Profiles
|
|
11
|
+
class AdProfiles(PageOffestAndLength):
|
|
12
|
+
"""查询广告账号参数"""
|
|
13
|
+
|
|
14
|
+
profile_type: NonEmptyStr = Field(alias="type")
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# . Ads Entities (Portfolios, Campaigns, etc.)
|
|
18
|
+
class AdEntities(PageOffestAndLength):
|
|
19
|
+
"""查询广告组合参数"""
|
|
20
|
+
|
|
21
|
+
# 领星店铺ID
|
|
22
|
+
sid: Optional[NonNegativeInt] = None
|
|
23
|
+
# 亚马逊店铺ID [广告帐号ID] (AdsProfiles.profile_id)
|
|
24
|
+
profile_id: NonNegativeInt
|
|
25
|
+
# 广告组合状态 ("enabled", "paused", "archived" | 默认所有)
|
|
26
|
+
state: Optional[NonEmptyStr] = None
|
|
27
|
+
# 分页游标, 上次分页结果中的next_token
|
|
28
|
+
next_token: Optional[NonEmptyStr] = None
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
# . SP Negative Targets
|
|
32
|
+
class SpNegativeTargeting(AdEntities):
|
|
33
|
+
"""查询 SP 否定投放参数"""
|
|
34
|
+
|
|
35
|
+
# 否定投放类型 ("keyword", "target")
|
|
36
|
+
targeting_type: NonEmptyStr = Field(alias="target_type")
|
|
37
|
+
# 广告活动ID
|
|
38
|
+
campaign_id: Optional[NonNegativeInt] = None
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
# . SB Targets
|
|
42
|
+
class SbTargeting(AdEntities):
|
|
43
|
+
"""查询 SP 广告投放目标参数"""
|
|
44
|
+
|
|
45
|
+
# SB广告类型 ('SB', 'SBV', 'ALL')
|
|
46
|
+
ad_type: NonEmptyStr = Field(alias="ads_type")
|
|
47
|
+
# 投放目标类型 ('keyword', 'product', 'ALL')
|
|
48
|
+
targeting_type: NonEmptyStr
|
|
49
|
+
|
|
50
|
+
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
51
|
+
@field_validator("targeting_type", mode="before")
|
|
52
|
+
@classmethod
|
|
53
|
+
def _validate_targeting_type(cls, v: str) -> str:
|
|
54
|
+
return "producttarget" if v == "product" else v
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
# 报告 -------------------------------------------------------------------------------------------------------------------------
|
|
58
|
+
# . Ad Reports
|
|
59
|
+
class AdReports(AdEntities):
|
|
60
|
+
"""查询广告报告参数"""
|
|
61
|
+
|
|
62
|
+
# 报告日期
|
|
63
|
+
report_date: str
|
|
64
|
+
# 是否展示完整归因期信息 (0: 否, 1: 是 | 默认: 0)
|
|
65
|
+
show_detail: Optional[NonNegativeInt] = None
|
|
66
|
+
|
|
67
|
+
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
68
|
+
@field_validator("report_date", mode="before")
|
|
69
|
+
@classmethod
|
|
70
|
+
def _validate_report_date(cls, v: str) -> str:
|
|
71
|
+
dt = utils.validate_datetime(v, False, "广告报告日期")
|
|
72
|
+
return "%04d-%02d-%02d" % (dt.year, dt.month, dt.day)
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
# . Ad Hour Reports
|
|
76
|
+
class AdHourData(Parameter):
|
|
77
|
+
"""查询广告的小时报告参数"""
|
|
78
|
+
|
|
79
|
+
# 报告日期 (只能查询最近60天内的数据)
|
|
80
|
+
report_date: str
|
|
81
|
+
# 广告活动ID
|
|
82
|
+
campaign_id: NonNegativeInt
|
|
83
|
+
# 聚合纬度
|
|
84
|
+
agg_dimension: Optional[NonEmptyStr] = None
|
|
85
|
+
|
|
86
|
+
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
87
|
+
@field_validator("report_date", mode="before")
|
|
88
|
+
@classmethod
|
|
89
|
+
def _validate_report_date(cls, v: str) -> str:
|
|
90
|
+
dt = utils.validate_datetime(v, False, "广告报告日期")
|
|
91
|
+
return "%04d-%02d-%02d" % (dt.year, dt.month, dt.day)
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
# . SB Target Reports
|
|
95
|
+
class SbTargetingReports(AdReports):
|
|
96
|
+
"""查询 SB 广告投放目标报告参数"""
|
|
97
|
+
|
|
98
|
+
# SB广告类型 ('SB', 'SBV', 'ALL')
|
|
99
|
+
ad_type: NonEmptyStr = Field(alias="sponsored_type")
|
|
100
|
+
# 投放目标类型 ('keyword', 'product', 'ALL')
|
|
101
|
+
targeting_type: NonEmptyStr = Field(alias="target_type")
|
|
102
|
+
|
|
103
|
+
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
104
|
+
@field_validator("targeting_type", mode="before")
|
|
105
|
+
@classmethod
|
|
106
|
+
def _validate_targeting_type(cls, v: str) -> str:
|
|
107
|
+
return "producttarget" if v == "product" else v
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
# . SB Query Word Reports
|
|
111
|
+
class SbQueryWordReports(AdReports):
|
|
112
|
+
"""查询 SB 用户搜索词报告参数"""
|
|
113
|
+
|
|
114
|
+
targeting_type: NonEmptyStr = Field(alias="target_type")
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
# . DSP Reports
|
|
118
|
+
class DspReports(PageOffestAndLength):
|
|
119
|
+
"""查询 DSP 报告参数"""
|
|
120
|
+
|
|
121
|
+
# 开始日期, 双闭区间, 时间间隔最长不超过90天
|
|
122
|
+
start_date: str
|
|
123
|
+
# 结束日期, 双闭区间, 时间间隔最长不超过90天
|
|
124
|
+
end_date: str
|
|
125
|
+
# 亚马逊店铺ID [广告帐号ID] (AdsProfiles.profile_id)
|
|
126
|
+
profile_id: NonNegativeInt
|
|
127
|
+
|
|
128
|
+
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
129
|
+
@field_validator("start_date", "end_date", mode="before")
|
|
130
|
+
@classmethod
|
|
131
|
+
def _validate_date(cls, v: str, info: ValidationInfo) -> str:
|
|
132
|
+
dt = utils.validate_datetime(v, False, "DSP报告日期 %s" % info.field_name)
|
|
133
|
+
return "%04d-%02d-%02d" % (dt.year, dt.month, dt.day)
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
# 报表下载 ----------------------------------------------------------------------------------------------------------------------
|
|
137
|
+
# . Download ABA Report
|
|
138
|
+
class DownloadAbaReport(Parameter):
|
|
139
|
+
"""查询 Amazon ABA 报表下载参数"""
|
|
140
|
+
|
|
141
|
+
# 国家代码
|
|
142
|
+
country_code: CountryCode = Field(alias="country")
|
|
143
|
+
# 开始日期, 报表开始日期, 自动会调整为当周周日
|
|
144
|
+
start_date: str = Field(alias="data_start_time")
|
|
145
|
+
|
|
146
|
+
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
147
|
+
@field_validator("start_date", mode="before")
|
|
148
|
+
@classmethod
|
|
149
|
+
def _validate_start_date(cls, v: str) -> str:
|
|
150
|
+
dt = utils.validate_datetime(v, False, "ABA报表开始日期").to_sunday()
|
|
151
|
+
return "%04d-%02d-%02d" % (dt.year, dt.month, dt.day)
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
# 操作日志 ----------------------------------------------------------------------------------------------------------------------
|
|
155
|
+
# . Ads Operation Logs
|
|
156
|
+
class AdsOperationLogs(PageOffestAndLength):
|
|
157
|
+
"""查询广告操作日志参数"""
|
|
158
|
+
|
|
159
|
+
# 领星店铺ID
|
|
160
|
+
sid: NonNegativeInt
|
|
161
|
+
# 开始日期, 日期间隔不能超过1个月
|
|
162
|
+
start_date: str
|
|
163
|
+
# 结束日期, 日期间隔不能超过1个月
|
|
164
|
+
end_date: str
|
|
165
|
+
# 广告类型 ('sp', 'sb', 'sd')
|
|
166
|
+
ad_type: str = Field(alias="sponsored_type")
|
|
167
|
+
# 操作对象
|
|
168
|
+
# - campaigns 广告活动
|
|
169
|
+
# - adGroups 广告组
|
|
170
|
+
# - productAds 广告
|
|
171
|
+
# - keywords 关键词
|
|
172
|
+
# - negativeKeywords 否定关键词
|
|
173
|
+
# - targets 商品投放
|
|
174
|
+
# - negativeTargets 否定商品投放
|
|
175
|
+
# - profiles 预算设置
|
|
176
|
+
operation_target: NonEmptyStr = Field(alias="operate_type")
|
|
177
|
+
# 日志来源
|
|
178
|
+
log_source: NonEmptyStr
|
|
179
|
+
|
|
180
|
+
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
181
|
+
@field_validator("start_date", "end_date", mode="before")
|
|
182
|
+
@classmethod
|
|
183
|
+
def _validate_date(cls, v: str, info: ValidationInfo) -> str:
|
|
184
|
+
dt = utils.validate_datetime(v, False, "广告操作日志日期 %s" % info.field_name)
|
|
185
|
+
return "%04d-%02d-%02d" % (dt.year, dt.month, dt.day)
|
|
186
|
+
|
|
187
|
+
@field_validator("ad_type", mode="before")
|
|
188
|
+
@classmethod
|
|
189
|
+
def _validate_ad_type(cls, v) -> str:
|
|
190
|
+
if not isinstance(v, str):
|
|
191
|
+
raise ValueError("广告类型必须是字符串")
|
|
192
|
+
return v.lower()
|
lingxingapi/ads/route.py
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
# fmt: off
|
|
4
|
+
# 基础数据 ----------------------------------------------------------------------------------------------------------------------
|
|
5
|
+
# https://apidoc.lingxing.com/#/docs/newAd/baseData/dspAccountList
|
|
6
|
+
AD_PROFILES: str = "/basicOpen/baseData/account/list"
|
|
7
|
+
# https://apidoc.lingxing.com/#/docs/newAd/baseData/portfolios
|
|
8
|
+
PORTFOLIOS: str = "/pb/openapi/newad/portfolios"
|
|
9
|
+
|
|
10
|
+
# . 基础数据 - Sponsored Products
|
|
11
|
+
# https://apidoc.lingxing.com/#/docs/newAd/baseData/spCampaigns
|
|
12
|
+
SP_CAMPAIGNS: str = "/pb/openapi/newad/spCampaigns"
|
|
13
|
+
# https://apidoc.lingxing.com/#/docs/newAd/baseData/spAdGroups
|
|
14
|
+
SP_AD_GROUPS: str = "/pb/openapi/newad/spAdGroups"
|
|
15
|
+
# https://apidoc.lingxing.com/#/docs/newAd/baseData/spProductAds
|
|
16
|
+
SP_PRODUCTS: str = "/pb/openapi/newad/spProductAds"
|
|
17
|
+
# https://apidoc.lingxing.com/#/docs/newAd/baseData/spKeywords
|
|
18
|
+
SP_KEYWORDS: str = "/pb/openapi/newad/spKeywords"
|
|
19
|
+
# https://apidoc.lingxing.com/#/docs/newAd/baseData/spTargets
|
|
20
|
+
SP_TARGETS: str = "/pb/openapi/newad/spTargets"
|
|
21
|
+
# https://apidoc.lingxing.com/#/docs/newAd/baseData/spNegativeTargetsOrKeywords
|
|
22
|
+
SP_NEGATIVE_TARGETING: str = "/pb/openapi/newad/spNegativeTargetsOrKeywords"
|
|
23
|
+
|
|
24
|
+
# . 基础数据 - Sponsored Brands
|
|
25
|
+
# https://apidoc.lingxing.com/#/docs/newAd/baseData/hsaCampaigns
|
|
26
|
+
SB_CAMPAIGNS: str = "/pb/openapi/newad/hsaCampaigns"
|
|
27
|
+
# https://apidoc.lingxing.com/#/docs/newAd/baseData/hsaAdGroups
|
|
28
|
+
SB_AD_GROUPS: str = "/pb/openapi/newad/hsaAdGroups"
|
|
29
|
+
# https://apidoc.lingxing.com/#/docs/newAd/baseData/sbAdHasProductAds
|
|
30
|
+
SB_CREATIVES: str = "/pb/openapi/newad/hsaProductAds"
|
|
31
|
+
# https://apidoc.lingxing.com/#/docs/newAd/baseData/sbTargeting
|
|
32
|
+
SB_TARGETING: str = "/pb/openapi/newad/sbTargeting"
|
|
33
|
+
# https://apidoc.lingxing.com/#/docs/newAd/baseData/hsaNegativeKeywords
|
|
34
|
+
SB_NEGATIVE_KEYWORDS: str = "/pb/openapi/newad/hsaNegativeKeywords"
|
|
35
|
+
# https://apidoc.lingxing.com/#/docs/newAd/baseData/hsaNegativeTargets
|
|
36
|
+
SB_NEGATIVE_TARGETS: str = "/pb/openapi/newad/hsaNegativeTargets"
|
|
37
|
+
|
|
38
|
+
# . 基础数据 - Sponsored Display
|
|
39
|
+
# https://apidoc.lingxing.com/#/docs/newAd/baseData/sdCampaigns
|
|
40
|
+
SD_CAMPAIGNS: str = "/pb/openapi/newad/sdCampaigns"
|
|
41
|
+
# https://apidoc.lingxing.com/#/docs/newAd/baseData/sdAdGroups
|
|
42
|
+
SD_AD_GROUPS: str = "/pb/openapi/newad/sdAdGroups"
|
|
43
|
+
# https://apidoc.lingxing.com/#/docs/newAd/baseData/sdProductAds
|
|
44
|
+
SD_PRODUCTS: str = "/pb/openapi/newad/sdProductAds"
|
|
45
|
+
# https://apidoc.lingxing.com/#/docs/newAd/baseData/sdTargets
|
|
46
|
+
SD_TARGETS: str = "/pb/openapi/newad/sdTargets"
|
|
47
|
+
# https://apidoc.lingxing.com/#/docs/newAd/baseData/sdNegativeTargets
|
|
48
|
+
SD_NEGATIVE_TARGETS: str = "/pb/openapi/newad/sdNegativeTargets"
|
|
49
|
+
|
|
50
|
+
# 报告 -------------------------------------------------------------------------------------------------------------------------
|
|
51
|
+
# . 报告 - Sponsored Products
|
|
52
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/spCampaignReports
|
|
53
|
+
SP_CAMPAIGN_REPORTS: str = "/pb/openapi/newad/spCampaignReports"
|
|
54
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/spCampaignHourData
|
|
55
|
+
SP_CAMPAIGN_HOUR_DATA: str = "/pb/openapi/newad/spCampaignHourData"
|
|
56
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/campaignPlacementReports
|
|
57
|
+
SP_PLACEMENT_REPORTS: str = "/pb/openapi/newad/campaignPlacementReports"
|
|
58
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/spAdPlacementHourData
|
|
59
|
+
SP_PLACEMENT_HOUR_DATA: str = "/pb/openapi/newad/spAdPlacementHourData"
|
|
60
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/spAdGroupReports
|
|
61
|
+
SP_AD_GROUP_REPORTS: str = "/pb/openapi/newad/spAdGroupReports"
|
|
62
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/spAdGroupHourData
|
|
63
|
+
SP_AD_GROUP_HOUR_DATA: str = "/pb/openapi/newad/spAdGroupHourData"
|
|
64
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/spProductAdReports
|
|
65
|
+
SP_PRODUCT_REPORTS: str = "/pb/openapi/newad/spProductAdReports"
|
|
66
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/spAdvertiseHourData
|
|
67
|
+
SP_PRODUCT_KEYWORD_HOUR_DATA: str = "/pb/openapi/newad/spAdvertiseHourData"
|
|
68
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/spKeywordReports
|
|
69
|
+
SP_KEYWORD_REPORTS: str = "/pb/openapi/newad/spKeywordReports"
|
|
70
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/spTargetReports
|
|
71
|
+
SP_TARGET_REPORTS: str = "/pb/openapi/newad/spTargetReports"
|
|
72
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/spTargetHourData
|
|
73
|
+
SP_TARGET_HOUR_DATA: str = "/pb/openapi/newad/spTargetHourData"
|
|
74
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/queryWordReports
|
|
75
|
+
SP_QUERY_WORD_REPORTS: str = "/pb/openapi/newad/queryWordReports"
|
|
76
|
+
|
|
77
|
+
# . 报告 - Sponsored Brands
|
|
78
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/hsaCampaignReports
|
|
79
|
+
SB_CAMPAIGN_REPORTS: str = "/pb/openapi/newad/hsaCampaignReports"
|
|
80
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/sbCampaignHourData
|
|
81
|
+
SB_CAMPAIGN_HOUR_DATA: str = "/pb/openapi/newad/sbCampaignHourData"
|
|
82
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/hsaCampaignPlacementReports
|
|
83
|
+
SB_PLACEMENT_REPORTS: str = "/pb/openapi/newad/hsaCampaignPlacementReports"
|
|
84
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/sbAdPlacementHourData
|
|
85
|
+
SB_PLACEMENT_HOUR_DATA: str = "/pb/openapi/newad/sbAdPlacementHourData"
|
|
86
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/hsaAdGroupReports
|
|
87
|
+
SB_AD_GROUP_REPORTS: str = "/pb/openapi/newad/hsaAdGroupReports"
|
|
88
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/sbAdGroupHourData
|
|
89
|
+
SB_AD_GROUP_HOUR_DATA: str = "/pb/openapi/newad/sbAdGroupHourData"
|
|
90
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/listHsaProductAdReport
|
|
91
|
+
SB_CREATIVE_REPORTS: str = "/pb/openapi/newad/listHsaProductAdReport"
|
|
92
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/listHsaTargetingReport
|
|
93
|
+
SB_TARGETING_REPORTS: str = "/pb/openapi/newad/listHsaTargetingReport"
|
|
94
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/sbTargetHourData
|
|
95
|
+
SB_TARGETING_HOUR_DATA: str = "/pb/openapi/newad/sbTargetHourData"
|
|
96
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/hsaQueryWordReports
|
|
97
|
+
SB_QUERY_WORD_REPORTS: str = "/pb/openapi/newad/hsaQueryWordReports"
|
|
98
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/hsaPurchasedAsinReports
|
|
99
|
+
SB_ASIN_ATTRIBUTION_REPORTS: str = "/pb/openapi/newad/hsaPurchasedAsinReports"
|
|
100
|
+
# https://apidoc.lingxing.com/#/docs/newAd/baseData/newadsbDivideAsinReports
|
|
101
|
+
SB_COST_ALLOCATION_REPORTS: str = "/pb/openapi/newad/sbDivideAsinReports"
|
|
102
|
+
|
|
103
|
+
# . 报告 - Sponsored Display
|
|
104
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/sdCampaignReports
|
|
105
|
+
SD_CAMPAIGN_REPORTS: str = "/pb/openapi/newad/sdCampaignReports"
|
|
106
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/sdCampaignHourData
|
|
107
|
+
SD_CAMPAIGN_HOUR_DATA: str = "/pb/openapi/newad/sdCampaignHourData"
|
|
108
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/sdAdGroupReports
|
|
109
|
+
SD_AD_GROUP_REPORTS: str = "/pb/openapi/newad/sdAdGroupReports"
|
|
110
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/sdAdGroupHourData
|
|
111
|
+
SD_AD_GROUP_HOUR_DATA: str = "/pb/openapi/newad/sdAdGroupHourData"
|
|
112
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/sdProductAdReports
|
|
113
|
+
SD_PRODUCT_REPORTS: str = "/pb/openapi/newad/sdProductAdReports"
|
|
114
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/sdAdvertiseHourData
|
|
115
|
+
SD_PRODUCT_HOUR_DATA: str = "/pb/openapi/newad/sdAdvertiseHourData"
|
|
116
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/sdTargetReports
|
|
117
|
+
SD_TARGET_REPORTS: str = "/pb/openapi/newad/sdTargetReports"
|
|
118
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/sdTargetHourData
|
|
119
|
+
SD_TARGET_HOUR_DATA: str = "/pb/openapi/newad/sdTargetHourData"
|
|
120
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/sdMatchTargetReports
|
|
121
|
+
SD_MATCHED_TARGET_REPORTS: str = "/pb/openapi/newad/sdMatchTargetReports"
|
|
122
|
+
|
|
123
|
+
# . 报告 - Demand-Side Platform (DSP)
|
|
124
|
+
# https://apidoc.lingxing.com/#/docs/newAd/report/dspReportOrderList
|
|
125
|
+
DSP_REPORTS: str = "/basicOpen/dspReport/order/list"
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
# 报表下载 ----------------------------------------------------------------------------------------------------------------------
|
|
129
|
+
# https://apidoc.lingxing.com/#/docs/newAd/reportDownload/abaReport
|
|
130
|
+
DOWNLOAD_ABA_REPORT: str = "/pb/openapi/newad/abaReport"
|
|
131
|
+
|
|
132
|
+
# 操作日志 ----------------------------------------------------------------------------------------------------------------------
|
|
133
|
+
# https://apidoc.lingxing.com/#/docs/newAd/apiLogStandard
|
|
134
|
+
ADS_OPERATION_LOGS: str = "/pb/openapi/newad/apiLogStandard"
|