lingxingapi 2.1.1__tar.gz → 2.1.2__tar.gz
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-2.1.1/src/lingxingapi.egg-info → lingxingapi-2.1.2}/PKG-INFO +1 -1
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/setup.cfg +1 -1
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/ads/api.py +14 -10
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/ads/schema.py +9 -5
- {lingxingapi-2.1.1 → lingxingapi-2.1.2/src/lingxingapi.egg-info}/PKG-INFO +1 -1
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/LICENSE +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/MANIFEST.in +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/README.md +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/pyproject.toml +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/__init__.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/ads/__init__.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/ads/param.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/ads/route.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/api.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/base/__init__.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/base/api.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/base/param.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/base/route.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/base/schema.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/basic/__init__.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/basic/api.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/basic/param.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/basic/route.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/basic/schema.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/errors.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/fba/__init__.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/fba/api.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/fba/param.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/fba/route.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/fba/schema.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/fields.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/finance/__init__.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/finance/api.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/finance/param.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/finance/route.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/finance/schema.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/product/__init__.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/product/api.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/product/param.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/product/route.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/product/schema.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/purchase/__init__.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/purchase/api.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/purchase/param.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/purchase/route.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/purchase/schema.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/sales/__init__.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/sales/api.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/sales/param.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/sales/route.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/sales/schema.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/source/__init__.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/source/api.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/source/param.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/source/route.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/source/schema.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/tools/__init__.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/tools/api.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/tools/param.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/tools/route.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/tools/schema.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/tunnel.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/utils.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/warehourse/__init__.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/warehourse/api.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/warehourse/param.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/warehourse/route.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi/warehourse/schema.py +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi.egg-info/SOURCES.txt +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi.egg-info/dependency_links.txt +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi.egg-info/not-zip-safe +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi.egg-info/requires.txt +0 -0
- {lingxingapi-2.1.1 → lingxingapi-2.1.2}/src/lingxingapi.egg-info/top_level.txt +0 -0
|
@@ -753,14 +753,16 @@ class AdsAPI(BaseAPI):
|
|
|
753
753
|
"campaign_id": 397************,
|
|
754
754
|
# 广告组ID
|
|
755
755
|
"ad_group_id": 0,
|
|
756
|
+
# 否定关键词ID [原字段 'target_id']
|
|
757
|
+
"negative_keyword_id": 389************,
|
|
756
758
|
# 否定关键词文本 [原字段 'negative_text']
|
|
757
|
-
"
|
|
759
|
+
"negative_keyword_text": "edible",
|
|
758
760
|
# 否定匹配方式 [原字段 'negative_match_type']
|
|
759
|
-
"
|
|
761
|
+
"negative_keyword_match_type": "negativePhrase",
|
|
760
762
|
# 广告状态
|
|
761
763
|
"state": "enabled",
|
|
762
764
|
# 服务状态 [原字段 'serving_status']
|
|
763
|
-
"status": "
|
|
765
|
+
"status": "CAMPAIGN_PAUSED",
|
|
764
766
|
# 创建时间 (UTC毫秒时间戳) [原字段 'creation_date']
|
|
765
767
|
"create_time_ts": 1744989374515,
|
|
766
768
|
# 更新时间 (UTC毫秒时间戳) [原字段 'last_updated_date']
|
|
@@ -845,18 +847,20 @@ class AdsAPI(BaseAPI):
|
|
|
845
847
|
"campaign_id": 397************,
|
|
846
848
|
# 广告组ID
|
|
847
849
|
"ad_group_id": 335************,
|
|
848
|
-
#
|
|
849
|
-
"
|
|
850
|
-
#
|
|
851
|
-
"
|
|
850
|
+
# 否定目标ID [原字段 'target_id']
|
|
851
|
+
"negative_target_id": 295************,
|
|
852
|
+
# 否定目标文本 [原字段 'negative_text']
|
|
853
|
+
"negative_target_text": "B07*******",
|
|
854
|
+
# 否定目标匹配类型 [原字段 'negative_type']
|
|
855
|
+
"negative_target_match_type": "negativeAsin",
|
|
852
856
|
# 广告状态
|
|
853
857
|
"state": "enabled",
|
|
854
858
|
# 服务状态 [原字段 'serving_status']
|
|
855
|
-
"status": "
|
|
859
|
+
"status": "CAMPAIGN_PAUSED",
|
|
856
860
|
# 创建时间 (UTC毫秒时间戳) [原字段 'creation_date']
|
|
857
|
-
"create_time_ts":
|
|
861
|
+
"create_time_ts": 1750758047854,
|
|
858
862
|
# 更新时间 (UTC毫秒时间戳) [原字段 'last_updated_date']
|
|
859
|
-
"update_time_ts":
|
|
863
|
+
"update_time_ts": 1750758047998,
|
|
860
864
|
},
|
|
861
865
|
...
|
|
862
866
|
],
|
|
@@ -247,10 +247,12 @@ class SpNegativeKeyword(BaseModel):
|
|
|
247
247
|
campaign_id: int
|
|
248
248
|
# 广告组ID
|
|
249
249
|
ad_group_id: IntOrNone2Zero
|
|
250
|
+
# 否定关键词ID [原字段 'target_id']
|
|
251
|
+
negative_keyword_id: int = Field(validation_alias="target_id")
|
|
250
252
|
# 否定关键词文本 [原字段 'negative_text']
|
|
251
|
-
|
|
253
|
+
negative_keyword_text: str = Field(validation_alias="negative_text")
|
|
252
254
|
# 否定匹配方式 [原字段 'negative_match_type']
|
|
253
|
-
|
|
255
|
+
negative_keyword_match_type: str = Field(validation_alias="negative_match_type")
|
|
254
256
|
# 广告状态
|
|
255
257
|
state: StrOrNone2Blank
|
|
256
258
|
# 服务状态 [原字段 'serving_status']
|
|
@@ -277,10 +279,12 @@ class SpNegativeTarget(BaseModel):
|
|
|
277
279
|
campaign_id: int
|
|
278
280
|
# 广告组ID
|
|
279
281
|
ad_group_id: IntOrNone2Zero
|
|
280
|
-
#
|
|
281
|
-
|
|
282
|
+
# 否定目标ID [原字段 'target_id']
|
|
283
|
+
negative_target_id: int = Field(validation_alias="target_id")
|
|
282
284
|
# 否定目标文本 [原字段 'negative_text']
|
|
283
|
-
|
|
285
|
+
negative_target_text: StrOrNone2Blank = Field(validation_alias="negative_text")
|
|
286
|
+
# 否定目标匹配类型 [原字段 'negative_type']
|
|
287
|
+
negative_target_match_type: str = Field(validation_alias="negative_type")
|
|
284
288
|
# 广告状态
|
|
285
289
|
state: StrOrNone2Blank
|
|
286
290
|
# 服务状态 [原字段 'serving_status']
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|