lingxingapi 2.1.2__tar.gz → 2.1.4__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.
Files changed (73) hide show
  1. {lingxingapi-2.1.2/src/lingxingapi.egg-info → lingxingapi-2.1.4}/PKG-INFO +1 -1
  2. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/setup.cfg +1 -1
  3. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/ads/api.py +24 -22
  4. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/ads/schema.py +28 -22
  5. {lingxingapi-2.1.2 → lingxingapi-2.1.4/src/lingxingapi.egg-info}/PKG-INFO +1 -1
  6. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/LICENSE +0 -0
  7. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/MANIFEST.in +0 -0
  8. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/README.md +0 -0
  9. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/pyproject.toml +0 -0
  10. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/__init__.py +0 -0
  11. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/ads/__init__.py +0 -0
  12. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/ads/param.py +0 -0
  13. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/ads/route.py +0 -0
  14. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/api.py +0 -0
  15. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/base/__init__.py +0 -0
  16. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/base/api.py +0 -0
  17. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/base/param.py +0 -0
  18. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/base/route.py +0 -0
  19. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/base/schema.py +0 -0
  20. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/basic/__init__.py +0 -0
  21. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/basic/api.py +0 -0
  22. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/basic/param.py +0 -0
  23. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/basic/route.py +0 -0
  24. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/basic/schema.py +0 -0
  25. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/errors.py +0 -0
  26. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/fba/__init__.py +0 -0
  27. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/fba/api.py +0 -0
  28. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/fba/param.py +0 -0
  29. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/fba/route.py +0 -0
  30. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/fba/schema.py +0 -0
  31. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/fields.py +0 -0
  32. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/finance/__init__.py +0 -0
  33. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/finance/api.py +0 -0
  34. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/finance/param.py +0 -0
  35. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/finance/route.py +0 -0
  36. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/finance/schema.py +0 -0
  37. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/product/__init__.py +0 -0
  38. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/product/api.py +0 -0
  39. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/product/param.py +0 -0
  40. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/product/route.py +0 -0
  41. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/product/schema.py +0 -0
  42. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/purchase/__init__.py +0 -0
  43. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/purchase/api.py +0 -0
  44. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/purchase/param.py +0 -0
  45. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/purchase/route.py +0 -0
  46. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/purchase/schema.py +0 -0
  47. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/sales/__init__.py +0 -0
  48. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/sales/api.py +0 -0
  49. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/sales/param.py +0 -0
  50. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/sales/route.py +0 -0
  51. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/sales/schema.py +0 -0
  52. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/source/__init__.py +0 -0
  53. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/source/api.py +0 -0
  54. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/source/param.py +0 -0
  55. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/source/route.py +0 -0
  56. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/source/schema.py +0 -0
  57. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/tools/__init__.py +0 -0
  58. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/tools/api.py +0 -0
  59. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/tools/param.py +0 -0
  60. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/tools/route.py +0 -0
  61. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/tools/schema.py +0 -0
  62. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/tunnel.py +0 -0
  63. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/utils.py +0 -0
  64. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/warehourse/__init__.py +0 -0
  65. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/warehourse/api.py +0 -0
  66. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/warehourse/param.py +0 -0
  67. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/warehourse/route.py +0 -0
  68. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi/warehourse/schema.py +0 -0
  69. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi.egg-info/SOURCES.txt +0 -0
  70. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi.egg-info/dependency_links.txt +0 -0
  71. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi.egg-info/not-zip-safe +0 -0
  72. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi.egg-info/requires.txt +0 -0
  73. {lingxingapi-2.1.2 → lingxingapi-2.1.4}/src/lingxingapi.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lingxingapi
3
- Version: 2.1.2
3
+ Version: 2.1.4
4
4
  Summary: An async API client for LingXing (领星) ERP
5
5
  Home-page: https://github.com/AresJef/LingXingApi
6
6
  Author: Jiefu Chen
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = lingxingapi
3
- version = 2.1.2
3
+ version = 2.1.4
4
4
  author = Jiefu Chen
5
5
  author_email = keppa1991@163.com
6
6
  description = An async API client for LingXing (领星) ERP
@@ -1492,12 +1492,12 @@ class AdsAPI(BaseAPI):
1492
1492
  "campaign_id": 517************,
1493
1493
  # 广告组ID
1494
1494
  "ad_group_id": 434************,
1495
- # 否定关键词ID
1496
- "keyword_id": 562************,
1497
- # 否定关键词文本
1498
- "keyword_text": "cheap",
1499
- # 否定关键词匹配类型
1500
- "match_type": "negativePhrase",
1495
+ # 否定关键词ID [原字段 'keyword_id']
1496
+ "negative_keyword_id": 562************,
1497
+ # 否定关键词文本 [原字段 'negative_text']
1498
+ "negative_keyword_text": "cheap",
1499
+ # 否定匹配方式 [原字段 'negative_match_type']
1500
+ "negative_keyword_match_type": "negativePhrase",
1501
1501
  # 广告状态
1502
1502
  "state": "enabled",
1503
1503
  # 服务状态 [原字段 'serving_status']
@@ -1589,14 +1589,14 @@ class AdsAPI(BaseAPI):
1589
1589
  "campaign_id": 517************,
1590
1590
  # 广告组ID
1591
1591
  "ad_group_id": 434************,
1592
- # 否定目标商品广告ID
1593
- "target_id": 562************,
1594
- # 否定目标定位类型
1595
- "expression_type": "manual",
1596
- # 否定目标定位表达式 (JSON 字符串)
1597
- "expression": '[{"type": "asinSameAs", "value": "B00*******"}]',
1598
- # 否定目标定位解析表达式 (JSON 字符串) [原字段 'resolved_expression']
1599
- "expression_resolved": '[{"type": "asinSameAs", "value": "B00*******"}]',
1592
+ # 否定目标ID [原字段 'target_id']
1593
+ "negative_target_id": 562************,
1594
+ # 否定定位表达式 (JSON 字符串) [原字段 'expression']
1595
+ "negative_expression": '[{"type": "asinSameAs", "value": "B00*******"}]',
1596
+ # 否定定位解析表达式 (JSON 字符串) [原字段 'resolved_expression']
1597
+ "negative_expression_resolved": '[{"type": "asinSameAs", "value": "B00*******"}]',
1598
+ # 否定定位类型 [原字段 'expression_type']
1599
+ "negative_expression_type": "manual",
1600
1600
  # 广告状态
1601
1601
  "state": "enabled",
1602
1602
  # 服务状态 [原字段 'serving_status']
@@ -2089,14 +2089,14 @@ class AdsAPI(BaseAPI):
2089
2089
  "campaign_id": 536************,
2090
2090
  # 广告组ID
2091
2091
  "ad_group_id": 385************,
2092
- # 否定目标商品广告ID
2093
- "target_id": 560************,
2094
- # 否定目标定位类型
2095
- "expression_type": "manual",
2096
- # 否定目标定位表达式 (JSON 字符串)
2097
- "expression": '[{"type": "asinSameAs", "value": "B0C*******"}]',
2098
- # 否定目标定位解析表达式 (JSON 字符串) [原字段 'resolved_expression']
2099
- "expression_resolved": '[{"type": "asinSameAs", "value": "B0C*******"}]',
2092
+ # 否定目标ID [原字段 'target_id']
2093
+ "negative_target_id": 560************,
2094
+ # 否定定位表达式 (JSON 字符串) [原字段 'expression']
2095
+ "negative_expression": '[{"type": "asinSameAs", "value": "B0C*******"}]',
2096
+ # 否定定位解析表达式 (JSON 字符串) [原字段 'resolved_expression']
2097
+ "negative_expression_resolved": '[{"type": "asinSameAs", "value": "B0C*******"}]',
2098
+ # 否定定位类型 [原字段 'expression_type']
2099
+ "negative_expression_type": "manual",
2100
2100
  # 广告状态
2101
2101
  "state": "enabled",
2102
2102
  # 服务状态 [原字段 'serving_status']
@@ -4035,6 +4035,8 @@ class AdsAPI(BaseAPI):
4035
4035
  # 广告销售额
4036
4036
  "sales": 149.4,
4037
4037
  # 直接广告销售额 [原字段 'same_sales']
4038
+ "direct_sales": 149.4,
4039
+ # 品牌新买家销售额
4038
4040
  "new_to_brand_sales": 149.4,
4039
4041
  # 广告可见率 - View Through Rate
4040
4042
  # (可见展示次数 / 总展示次数 x 100%)
@@ -562,12 +562,12 @@ class SbNegativeKeyword(BaseModel):
562
562
  campaign_id: int
563
563
  # 广告组ID
564
564
  ad_group_id: IntOrNone2Zero
565
- # 否定关键词ID
566
- keyword_id: int
567
- # 否定关键词文本
568
- keyword_text: StrOrNone2Blank
569
- # 否定关键词匹配类型
570
- match_type: StrOrNone2Blank
565
+ # 否定关键词ID [原字段 'keyword_id']
566
+ negative_keyword_id: int = Field(validation_alias="keyword_id")
567
+ # 否定关键词文本 [原字段 'negative_text']
568
+ negative_keyword_text: str = Field(validation_alias="keyword_text")
569
+ # 否定匹配方式 [原字段 'negative_match_type']
570
+ negative_keyword_match_type: str = Field(validation_alias="match_type")
571
571
  # 广告状态
572
572
  state: StrOrNone2Blank
573
573
  # 服务状态 [原字段 'serving_status']
@@ -588,20 +588,21 @@ class SbNegativeKeywords(ResponseV1Token):
588
588
  class SbNegativeTarget(BaseModel):
589
589
  """SB 否定目标商品投放"""
590
590
 
591
+ # fmt: off
591
592
  # 亚马逊店铺ID (广告帐号ID)
592
593
  profile_id: int
593
594
  # 广告活动ID
594
595
  campaign_id: int
595
596
  # 广告组ID
596
597
  ad_group_id: IntOrNone2Zero
597
- # 否定目标商品广告ID
598
- target_id: int
599
- # 否定目标定位类型
600
- expression_type: str
601
- # 否定目标定位表达式 (JSON 字符串)
602
- expression: str
603
- # 否定目标定位解析表达式 (JSON 字符串) [原字段 'resolved_expression']
604
- expression_resolved: str = Field(validation_alias="resolved_expression")
598
+ # 否定目标ID [原字段 'target_id']
599
+ negative_target_id: int = Field(validation_alias="target_id")
600
+ # 否定定位表达式 (JSON 字符串) [原字段 'expression']
601
+ negative_expression: str = Field(validation_alias="expression")
602
+ # 否定定位解析表达式 (JSON 字符串) [原字段 'resolved_expression']
603
+ negative_expression_resolved: str = Field(validation_alias="resolved_expression")
604
+ # 否定定位类型 [原字段 'expression_type']
605
+ negative_expression_type: StrOrNone2Blank = Field(validation_alias="expression_type")
605
606
  # 广告状态
606
607
  state: StrOrNone2Blank
607
608
  # 服务状态 [原字段 'serving_status']
@@ -610,6 +611,7 @@ class SbNegativeTarget(BaseModel):
610
611
  create_time_ts: IntOrNone2Zero = Field(validation_alias="creation_date")
611
612
  # 更新时间 (UTC毫秒时间戳) [原字段 'last_updated_date']
612
613
  update_time_ts: IntOrNone2Zero = Field(validation_alias="last_updated_date")
614
+ # fmt: on
613
615
 
614
616
 
615
617
  class SbNegativeTargets(ResponseV1Token):
@@ -763,20 +765,21 @@ class SdTargets(ResponseV1Token):
763
765
  class SdNegativeTarget(BaseModel):
764
766
  """SD 否定目标商品投放"""
765
767
 
768
+ # fmt: off
766
769
  # 亚马逊店铺ID (广告帐号ID)
767
770
  profile_id: int
768
771
  # 广告活动ID
769
772
  campaign_id: int
770
773
  # 广告组ID
771
774
  ad_group_id: IntOrNone2Zero
772
- # 否定目标商品广告ID
773
- target_id: int
774
- # 否定目标定位类型
775
- expression_type: str
776
- # 否定目标定位表达式 (JSON 字符串)
777
- expression: str
778
- # 否定目标定位解析表达式 (JSON 字符串) [原字段 'resolved_expression']
779
- expression_resolved: str = Field(validation_alias="resolved_expression")
775
+ # 否定目标ID [原字段 'target_id']
776
+ negative_target_id: int = Field(validation_alias="target_id")
777
+ # 否定定位表达式 (JSON 字符串) [原字段 'expression']
778
+ negative_expression: str = Field(validation_alias="expression")
779
+ # 否定定位解析表达式 (JSON 字符串) [原字段 'resolved_expression']
780
+ negative_expression_resolved: str = Field(validation_alias="resolved_expression")
781
+ # 否定定位类型 [原字段 'expression_type']
782
+ negative_expression_type: StrOrNone2Blank = Field(validation_alias="expression_type")
780
783
  # 广告状态
781
784
  state: StrOrNone2Blank
782
785
  # 服务状态 [原字段 'serving_status']
@@ -785,6 +788,7 @@ class SdNegativeTarget(BaseModel):
785
788
  create_time_ts: IntOrNone2Zero = Field(validation_alias="creation_date")
786
789
  # 更新时间 (UTC毫秒时间戳) [原字段 'last_updated_date']
787
790
  update_time_ts: IntOrNone2Zero = Field(validation_alias="last_updated_date")
791
+ # fmt: on
788
792
 
789
793
 
790
794
  class SdNegativeTargets(ResponseV1Token):
@@ -1704,6 +1708,8 @@ class SbAdGroupReport(BaseModel):
1704
1708
  new_to_brand_units: int
1705
1709
  # 广告销售额
1706
1710
  sales: float
1711
+ # 直接广告销售额 [原字段 'same_sales']
1712
+ direct_sales: float = Field(validation_alias="same_sales")
1707
1713
  # 品牌新买家销售额
1708
1714
  new_to_brand_sales: float
1709
1715
  # 广告可见率 - View Through Rate
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lingxingapi
3
- Version: 2.1.2
3
+ Version: 2.1.4
4
4
  Summary: An async API client for LingXing (领星) ERP
5
5
  Home-page: https://github.com/AresJef/LingXingApi
6
6
  Author: Jiefu Chen
File without changes
File without changes
File without changes
File without changes