justoneapi 2.0.3__tar.gz → 3.0.1__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 (54) hide show
  1. {justoneapi-2.0.3 → justoneapi-3.0.1}/PKG-INFO +7 -7
  2. {justoneapi-2.0.3 → justoneapi-3.0.1}/README.md +6 -6
  3. justoneapi-3.0.1/justoneapi/_version.py +1 -0
  4. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/generated/resources/amazon.py +2 -2
  5. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/generated/resources/bilibili.py +2 -2
  6. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/generated/resources/douban.py +1 -1
  7. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/generated/resources/douyin.py +0 -23
  8. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/generated/resources/douyin_xingtu.py +127 -67
  9. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/generated/resources/facebook.py +1 -1
  10. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/generated/resources/imdb.py +19 -19
  11. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/generated/resources/kuaishou.py +4 -4
  12. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/generated/resources/taobao.py +20 -0
  13. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/generated/resources/weibo.py +3 -3
  14. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/generated/resources/weixin.py +3 -3
  15. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/generated/resources/xiaohongshu.py +4 -4
  16. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/generated/resources/xiaohongshu_pgy.py +15 -41
  17. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi.egg-info/PKG-INFO +7 -7
  18. {justoneapi-2.0.3 → justoneapi-3.0.1}/tests/test_codegen.py +33 -0
  19. {justoneapi-2.0.3 → justoneapi-3.0.1}/tests/test_generated_surface.py +5 -0
  20. justoneapi-2.0.3/justoneapi/_version.py +0 -1
  21. {justoneapi-2.0.3 → justoneapi-3.0.1}/LICENSE +0 -0
  22. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/__init__.py +0 -0
  23. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/_exceptions.py +0 -0
  24. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/_resource.py +0 -0
  25. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/_response.py +0 -0
  26. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/_transport.py +0 -0
  27. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/client.py +0 -0
  28. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/config.py +0 -0
  29. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/generated/__init__.py +0 -0
  30. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/generated/models.py +0 -0
  31. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/generated/resources/__init__.py +0 -0
  32. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/generated/resources/beike.py +0 -0
  33. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/generated/resources/douyin_ec.py +0 -0
  34. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/generated/resources/instagram.py +0 -0
  35. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/generated/resources/jd.py +0 -0
  36. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/generated/resources/reddit.py +0 -0
  37. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/generated/resources/search.py +0 -0
  38. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/generated/resources/tiktok.py +0 -0
  39. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/generated/resources/tiktok_shop.py +0 -0
  40. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/generated/resources/toutiao.py +0 -0
  41. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/generated/resources/twitter.py +0 -0
  42. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/generated/resources/web.py +0 -0
  43. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/generated/resources/youku.py +0 -0
  44. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/generated/resources/youtube.py +0 -0
  45. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/generated/resources/zhihu.py +0 -0
  46. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi/log.py +0 -0
  47. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi.egg-info/SOURCES.txt +0 -0
  48. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi.egg-info/dependency_links.txt +0 -0
  49. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi.egg-info/requires.txt +0 -0
  50. {justoneapi-2.0.3 → justoneapi-3.0.1}/justoneapi.egg-info/top_level.txt +0 -0
  51. {justoneapi-2.0.3 → justoneapi-3.0.1}/pyproject.toml +0 -0
  52. {justoneapi-2.0.3 → justoneapi-3.0.1}/setup.cfg +0 -0
  53. {justoneapi-2.0.3 → justoneapi-3.0.1}/tests/test_integration_smoke.py +0 -0
  54. {justoneapi-2.0.3 → justoneapi-3.0.1}/tests/test_runtime.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: justoneapi
3
- Version: 2.0.3
3
+ Version: 3.0.1
4
4
  Summary: OpenAPI-driven Python SDK for Just One API
5
5
  Author-email: Just One API <support@justoneapi.com>
6
6
  Requires-Python: >=3.10
@@ -21,9 +21,9 @@ Dynamic: license-file
21
21
 
22
22
  # Just One API - Python SDK
23
23
 
24
- Official Python SDK for accessing [Just One API](https://justoneapi.com) - a unified data service platform that provides structured data from social media, e-commerce, and content platforms.
24
+ Official Python SDK for accessing [Just One API](https://justoneapi.com/en?utm_source=github.com&utm_medium=referral&utm_campaign=justoneapi_justoneapi_python&utm_content=repo_readme) - a unified data service platform that provides structured data from social media, e-commerce, and content platforms.
25
25
 
26
- Supported platforms include Taobao & Tmall, Xiaohongshu, Xiaohongshu Pugongying, Douyin, Douyin Xingtu, Kuaishou, Weibo, Bilibili, JD, WeChat, Douban, TikTok, TikTok Shop, Youku, Instagram, YouTube, Reddit, Toutiao, Zhihu, Amazon, Facebook, X (Twitter), Beike, IMDb, and more. To explore the full API catalog, visit the [official website](https://justoneapi.com).
26
+ Supported platforms include Taobao & Tmall, Xiaohongshu, Xiaohongshu Pugongying, Douyin, Douyin Xingtu, Kuaishou, Weibo, Bilibili, JD, WeChat, Douban, TikTok, TikTok Shop, Youku, Instagram, YouTube, Reddit, Toutiao, Zhihu, Amazon, Facebook, X (Twitter), Beike, IMDb, and more. To explore the full API catalog, visit the [official website]([https://justoneapi.com](https://justoneapi.com/en?utm_source=github.com&utm_medium=referral&utm_campaign=justoneapi_justoneapi_python&utm_content=repo_readme)).
27
27
 
28
28
  ## Installation
29
29
 
@@ -86,13 +86,13 @@ All API requests require a valid API token.
86
86
 
87
87
  Register here:
88
88
 
89
- - [Get API Token](https://dashboard.justoneapi.com/en/register)
89
+ - [Get API Token](https://dashboard.justoneapi.com/en/login?utm_source=github.com&utm_medium=referral&utm_campaign=justoneapi_justoneapi_python&utm_content=repo_readme)
90
90
 
91
91
  ## Documentation
92
92
 
93
93
  Full API documentation:
94
94
 
95
- - [API Documentation](https://docs.justoneapi.com/en)
95
+ - [API Documentation](https://docs.justoneapi.com/en?utm_source=github.com&utm_medium=referral&utm_campaign=justoneapi_justoneapi_python&utm_content=repo_readme)
96
96
 
97
97
  The documentation includes:
98
98
 
@@ -103,13 +103,13 @@ The documentation includes:
103
103
 
104
104
  ## Official Website
105
105
 
106
- - [Home Page](https://justoneapi.com)
106
+ - [Home Page](https://justoneapi.com/en?utm_source=github.com&utm_medium=referral&utm_campaign=justoneapi_justoneapi_python&utm_content=repo_readme)
107
107
 
108
108
  ## Contact
109
109
 
110
110
  If you have questions, feedback, or partnership inquiries:
111
111
 
112
- - [Contact Us](https://justoneapi.com/en/contact)
112
+ - [Contact Us](https://justoneapi.com/en/contact?utm_source=github.com&utm_medium=referral&utm_campaign=justoneapi_justoneapi_python&utm_content=repo_readme)
113
113
 
114
114
  ## License
115
115
 
@@ -5,9 +5,9 @@
5
5
 
6
6
  # Just One API - Python SDK
7
7
 
8
- Official Python SDK for accessing [Just One API](https://justoneapi.com) - a unified data service platform that provides structured data from social media, e-commerce, and content platforms.
8
+ Official Python SDK for accessing [Just One API](https://justoneapi.com/en?utm_source=github.com&utm_medium=referral&utm_campaign=justoneapi_justoneapi_python&utm_content=repo_readme) - a unified data service platform that provides structured data from social media, e-commerce, and content platforms.
9
9
 
10
- Supported platforms include Taobao & Tmall, Xiaohongshu, Xiaohongshu Pugongying, Douyin, Douyin Xingtu, Kuaishou, Weibo, Bilibili, JD, WeChat, Douban, TikTok, TikTok Shop, Youku, Instagram, YouTube, Reddit, Toutiao, Zhihu, Amazon, Facebook, X (Twitter), Beike, IMDb, and more. To explore the full API catalog, visit the [official website](https://justoneapi.com).
10
+ Supported platforms include Taobao & Tmall, Xiaohongshu, Xiaohongshu Pugongying, Douyin, Douyin Xingtu, Kuaishou, Weibo, Bilibili, JD, WeChat, Douban, TikTok, TikTok Shop, Youku, Instagram, YouTube, Reddit, Toutiao, Zhihu, Amazon, Facebook, X (Twitter), Beike, IMDb, and more. To explore the full API catalog, visit the [official website]([https://justoneapi.com](https://justoneapi.com/en?utm_source=github.com&utm_medium=referral&utm_campaign=justoneapi_justoneapi_python&utm_content=repo_readme)).
11
11
 
12
12
  ## Installation
13
13
 
@@ -70,13 +70,13 @@ All API requests require a valid API token.
70
70
 
71
71
  Register here:
72
72
 
73
- - [Get API Token](https://dashboard.justoneapi.com/en/register)
73
+ - [Get API Token](https://dashboard.justoneapi.com/en/login?utm_source=github.com&utm_medium=referral&utm_campaign=justoneapi_justoneapi_python&utm_content=repo_readme)
74
74
 
75
75
  ## Documentation
76
76
 
77
77
  Full API documentation:
78
78
 
79
- - [API Documentation](https://docs.justoneapi.com/en)
79
+ - [API Documentation](https://docs.justoneapi.com/en?utm_source=github.com&utm_medium=referral&utm_campaign=justoneapi_justoneapi_python&utm_content=repo_readme)
80
80
 
81
81
  The documentation includes:
82
82
 
@@ -87,13 +87,13 @@ The documentation includes:
87
87
 
88
88
  ## Official Website
89
89
 
90
- - [Home Page](https://justoneapi.com)
90
+ - [Home Page](https://justoneapi.com/en?utm_source=github.com&utm_medium=referral&utm_campaign=justoneapi_justoneapi_python&utm_content=repo_readme)
91
91
 
92
92
  ## Contact
93
93
 
94
94
  If you have questions, feedback, or partnership inquiries:
95
95
 
96
- - [Contact Us](https://justoneapi.com/en/contact)
96
+ - [Contact Us](https://justoneapi.com/en/contact?utm_source=github.com&utm_medium=referral&utm_campaign=justoneapi_justoneapi_python&utm_content=repo_readme)
97
97
 
98
98
  ## License
99
99
 
@@ -0,0 +1 @@
1
+ __version__ = "3.0.1"
@@ -68,7 +68,7 @@ class AmazonResource(BaseResource):
68
68
  Get Amazon best Sellers data, including rank positions, product metadata, and pricing, for identifying trending products in specific categories, market share analysis and category research, and tracking sales rank and popularity over time.
69
69
 
70
70
  Args:
71
- category: Best sellers category to return products for (e.g. 'software' or 'software/229535').
71
+ category: Best sellers category to return products for (e.g. 'baby-products' or 'baby-products/166777011'). The value is derived from the URL path of the Amazon Best Sellers page, such as: https://www.amazon.com/Best-Sellers-Baby-Baby-Toddler-Feeding-Supplies/zgbs/baby-products/166777011
72
72
  country: Country code for the Amazon product. Available Values: - `US`: United States - `AU`: Australia - `BR`: Brazil - `CA`: Canada - `CN`: China - `FR`: France - `DE`: Germany - `IN`: India - `IT`: Italy - `MX`: Mexico - `NL`: Netherlands - `SG`: Singapore - `ES`: Spain - `TR`: Turkey - `AE`: United Arab Emirates - `GB`: United Kingdom - `JP`: Japan - `SA`: Saudi Arabia - `PL`: Poland - `SE`: Sweden - `BE`: Belgium - `EG`: Egypt - `ZA`: South Africa - `IE`: Ireland
73
73
  page: Page number for pagination.
74
74
  """
@@ -81,7 +81,7 @@ class AmazonResource(BaseResource):
81
81
  },
82
82
  )
83
83
 
84
- def get_products_by_category_v1(
84
+ def get_category_products_v1(
85
85
  self,
86
86
  *,
87
87
  category_id: str,
@@ -167,7 +167,7 @@ class BilibiliResource(BaseResource):
167
167
  },
168
168
  )
169
169
 
170
- def get_user_relation_stat(
170
+ def get_user_relation_stat_v1(
171
171
  self,
172
172
  *,
173
173
  wmid: str,
@@ -187,7 +187,7 @@ class BilibiliResource(BaseResource):
187
187
  },
188
188
  )
189
189
 
190
- def get_video_caption_v1(
190
+ def get_video_caption_v2(
191
191
  self,
192
192
  *,
193
193
  bvid: str,
@@ -35,7 +35,7 @@ class DoubanResource(BaseResource):
35
35
  },
36
36
  )
37
37
 
38
- def get_movie_review_details_v1(
38
+ def get_movie_review_detail_v1(
39
39
  self,
40
40
  *,
41
41
  review_id: str,
@@ -29,29 +29,6 @@ class DouyinResource(BaseResource):
29
29
  },
30
30
  )
31
31
 
32
- def get_user_video_list_v1(
33
- self,
34
- *,
35
- sec_uid: str,
36
- max_cursor: int | None = 0,
37
- ) -> ApiResponse[Any]:
38
- """
39
- User Published Videos
40
-
41
- Get Douyin (TikTok China) user Published Videos data, including captions, covers, and publish times, for account monitoring.
42
-
43
- Args:
44
- sec_uid: The unique user ID (sec_uid) on Douyin.
45
- max_cursor: Pagination cursor; use 0 for the first page, and the `max_cursor` from the previous response for subsequent pages.
46
- """
47
- return self._get(
48
- "/api/douyin/get-user-video-list/v1",
49
- {
50
- "secUid": sec_uid,
51
- "maxCursor": max_cursor,
52
- },
53
- )
54
-
55
32
  def get_user_video_list_v3(
56
33
  self,
57
34
  *,
@@ -206,9 +206,9 @@ class DouyinXingtuResource(BaseResource):
206
206
  platform: str | None = "SHORT_VIDEO",
207
207
  ) -> ApiResponse[Any]:
208
208
  """
209
- Marketing Rates
209
+ Marketing Metrics
210
210
 
211
- Get Douyin Creator Marketplace (Xingtu) marketing Rates data, including rate card details and commercial service metrics, for creator evaluation, campaign planning, and marketplace research.
211
+ Get Douyin Creator Marketplace (Xingtu) marketing metrics data, including rate card details and commercial service metrics, for creator evaluation, campaign planning, and marketplace research.
212
212
 
213
213
  Args:
214
214
  o_author_id: Author's unique ID.
@@ -233,9 +233,9 @@ class DouyinXingtuResource(BaseResource):
233
233
  flow_type: str | None = "EXCLUDE",
234
234
  ) -> ApiResponse[Any]:
235
235
  """
236
- Distribution Metrics
236
+ Spread Metrics
237
237
 
238
- Get Douyin Creator Marketplace (Xingtu) distribution Metrics data, including exposure, spread, and related performance indicators, for creator evaluation, campaign planning, and marketplace research.
238
+ Get Douyin Creator Marketplace (Xingtu) spread metrics data, including exposure, spread, and related performance indicators, for creator evaluation, campaign planning, and marketplace research.
239
239
 
240
240
  Args:
241
241
  o_author_id: Author's unique ID.
@@ -483,7 +483,7 @@ class DouyinXingtuResource(BaseResource):
483
483
  item_id: str,
484
484
  ) -> ApiResponse[Any]:
485
485
  """
486
- Item Report Trend
486
+ Item Report Trends
487
487
 
488
488
  Get Douyin Creator Marketplace (Xingtu) item Report Trend data, including time-based changes in item performance metrics, for creator evaluation, campaign planning, and marketplace research.
489
489
 
@@ -537,6 +537,115 @@ class DouyinXingtuResource(BaseResource):
537
537
  },
538
538
  )
539
539
 
540
+ def gw_api_data_get_author_hot_comment_tokens_v1(
541
+ self,
542
+ *,
543
+ o_author_id: str,
544
+ ) -> ApiResponse[Any]:
545
+ """
546
+ KOL Comment Keyword Analysis
547
+
548
+ Get Douyin Creator Marketplace (Xingtu) kOL Comment Keyword Analysis data, including core metrics, trend signals, and performance indicators, for audience language analysis and comment-topic research.
549
+
550
+ Args:
551
+ o_author_id: Author's unique ID.
552
+ """
553
+ return self._get(
554
+ "/api/douyin-xingtu/gw/api/data/get_author_hot_comment_tokens/v1",
555
+ {
556
+ "oAuthorId": o_author_id,
557
+ },
558
+ )
559
+
560
+ def gw_api_data_sp_get_author_daily_fans_v1(
561
+ self,
562
+ *,
563
+ o_author_id: str,
564
+ start_date: str,
565
+ end_date: str,
566
+ ) -> ApiResponse[Any]:
567
+ """
568
+ Follower Growth Trend
569
+
570
+ Get Douyin Creator Marketplace (Xingtu) follower Growth Trend data, including historical audience changes over time, for creator evaluation, campaign planning, and marketplace research.
571
+
572
+ Args:
573
+ o_author_id: Author's unique ID.
574
+ start_date: Start Date (yyyy-MM-dd).
575
+ end_date: End Date (yyyy-MM-dd).
576
+ """
577
+ return self._get(
578
+ "/api/douyin-xingtu/gw/api/data_sp/get_author_daily_fans/v1",
579
+ {
580
+ "oAuthorId": o_author_id,
581
+ "startDate": start_date,
582
+ "endDate": end_date,
583
+ },
584
+ )
585
+
586
+ def gw_api_gauthor_get_author_content_hot_keywords_v1(
587
+ self,
588
+ *,
589
+ o_author_id: str,
590
+ ) -> ApiResponse[Any]:
591
+ """
592
+ KOL Content Keyword Analysis
593
+
594
+ Get Douyin Creator Marketplace (Xingtu) kOL Content Keyword Analysis data, including core metrics, trend signals, and performance indicators, for content theme analysis and creator positioning research.
595
+
596
+ Args:
597
+ o_author_id: Author's unique ID.
598
+ """
599
+ return self._get(
600
+ "/api/douyin-xingtu/gw/api/gauthor/get_author_content_hot_keywords/v1",
601
+ {
602
+ "oAuthorId": o_author_id,
603
+ },
604
+ )
605
+
606
+ def gw_api_aggregator_get_author_commerce_spread_info_v1(
607
+ self,
608
+ *,
609
+ o_author_id: str,
610
+ ) -> ApiResponse[Any]:
611
+ """
612
+ Author Commerce Spread Info
613
+
614
+ Get Douyin Creator Marketplace (Xingtu) author Commerce Spread Info data, including spread metrics, for creator evaluation for campaign planning and media buying.
615
+
616
+ Args:
617
+ o_author_id: Author's unique ID.
618
+ """
619
+ return self._get(
620
+ "/api/douyin-xingtu/gw/api/aggregator/get_author_commerce_spread_info/v1",
621
+ {
622
+ "oAuthorId": o_author_id,
623
+ },
624
+ )
625
+
626
+ def gw_api_aggregator_get_author_commerce_seed_base_info_v1(
627
+ self,
628
+ *,
629
+ o_author_id: str,
630
+ range: str | None = "DAY_90",
631
+ ) -> ApiResponse[Any]:
632
+ """
633
+ Author Commerce Seeding Base Info
634
+
635
+ Get Douyin Creator Marketplace (Xingtu) author Commerce Seeding Base Info data, including baseline metrics, commercial signals, and seeding indicators, for product seeding analysis, creator vetting, and campaign planning.
636
+
637
+ Args:
638
+ o_author_id: Author's unique ID.
639
+ range: Time range. Available Values: - `DAY_30`: Last 30 days - `DAY_90`: Last 90 days
640
+ """
641
+ return self._get(
642
+ "/api/douyin-xingtu/gw/api/aggregator/get_author_commerce_seed_base_info/v1",
643
+ {
644
+ "oAuthorId": o_author_id,
645
+ "range": range,
646
+ },
647
+ )
648
+
540
649
  def get_kol_info_v1(
541
650
  self,
542
651
  *,
@@ -594,9 +703,9 @@ class DouyinXingtuResource(BaseResource):
594
703
  accept_cache: bool | None = False,
595
704
  ) -> ApiResponse[Any]:
596
705
  """
597
- Follower Profile
706
+ Follower Distribution
598
707
 
599
- Get Douyin Creator Marketplace (Xingtu) follower Profile data, including audience demographics, interests, and distribution metrics, for creator evaluation, campaign planning, and marketplace research.
708
+ Get Douyin Creator Marketplace (Xingtu) follower distribution data, including audience demographics, interests, and distribution metrics, for creator evaluation, campaign planning, and marketplace research.
600
709
 
601
710
  Args:
602
711
  kol_id: KOL ID.
@@ -620,9 +729,9 @@ class DouyinXingtuResource(BaseResource):
620
729
  accept_cache: bool | None = False,
621
730
  ) -> ApiResponse[Any]:
622
731
  """
623
- Marketing Rates
732
+ Marketing Metrics
624
733
 
625
- Get Douyin Creator Marketplace (Xingtu) marketing Rates data, including rate card details and commercial service metrics, for creator evaluation, campaign planning, and marketplace research.
734
+ Get Douyin Creator Marketplace (Xingtu) marketing metrics data, including rate card details and commercial service metrics, for creator evaluation, campaign planning, and marketplace research.
626
735
 
627
736
  Args:
628
737
  kol_id: KOL ID.
@@ -649,9 +758,9 @@ class DouyinXingtuResource(BaseResource):
649
758
  accept_cache: bool | None = False,
650
759
  ) -> ApiResponse[Any]:
651
760
  """
652
- Creator Performance Overview
761
+ Spread Metrics
653
762
 
654
- Get Douyin Creator Marketplace (Xingtu) creator Performance Overview data, including audience, content performance, and commercial indicators, for quick evaluation.
763
+ Get Douyin Creator Marketplace (Xingtu) spread metrics data, including audience, content performance, and commercial indicators, for quick evaluation.
655
764
 
656
765
  Args:
657
766
  kol_id: KOL ID.
@@ -673,29 +782,6 @@ class DouyinXingtuResource(BaseResource):
673
782
  },
674
783
  )
675
784
 
676
- def search_douyin_kol_v1(
677
- self,
678
- *,
679
- body: str,
680
- accept_cache: bool | None = False,
681
- ) -> ApiResponse[Any]:
682
- """
683
- Legacy KOL Search
684
-
685
- Get Douyin Creator Marketplace (Xingtu) legacy KOL Search data, including preserving the request format, for creator evaluation, campaign planning, and marketplace research.
686
-
687
- Args:
688
- body: JSON request body.
689
- accept_cache: Enable cache.
690
- """
691
- return self._get(
692
- "/api/douyin-xingtu/search-douyin-kol/v1",
693
- {
694
- "body": body,
695
- "acceptCache": accept_cache,
696
- },
697
- )
698
-
699
785
  def search_kol_simple_v1(
700
786
  self,
701
787
  *,
@@ -759,9 +845,9 @@ class DouyinXingtuResource(BaseResource):
759
845
  accept_cache: bool | None = False,
760
846
  ) -> ApiResponse[Any]:
761
847
  """
762
- Video Performance
848
+ Showcase Items
763
849
 
764
- Get Douyin Creator Marketplace (Xingtu) video Performance data, including core metrics, trend signals, and performance indicators, for creator evaluation, campaign planning, and marketplace research.
850
+ Get Douyin Creator Marketplace (Xingtu) showcase items data, including core metrics, trend signals, and performance indicators, for creator evaluation, campaign planning, and marketplace research.
765
851
 
766
852
  Args:
767
853
  kol_id: KOL ID.
@@ -862,9 +948,9 @@ class DouyinXingtuResource(BaseResource):
862
948
  accept_cache: bool | None = False,
863
949
  ) -> ApiResponse[Any]:
864
950
  """
865
- Audience Source Distribution
951
+ Audience Touchpoint Distribution
866
952
 
867
- Get Douyin Creator Marketplace (Xingtu) audience Source Distribution data, including segment breakdowns, audience composition, and distribution signals, for traffic analysis and existing integration compatibility.
953
+ Get Douyin Creator Marketplace (Xingtu) audience touchpoint distribution data, including segment breakdowns, audience composition, and distribution signals, for traffic analysis and existing integration compatibility.
868
954
 
869
955
  Args:
870
956
  kol_id: KOL ID.
@@ -908,9 +994,9 @@ class DouyinXingtuResource(BaseResource):
908
994
  accept_cache: bool | None = False,
909
995
  ) -> ApiResponse[Any]:
910
996
  """
911
- KOL Content Performance
997
+ Recommended Videos
912
998
 
913
- Get Douyin Creator Marketplace (Xingtu) kOL Content Performance data, including video performance metrics, for creator evaluation, campaign planning, and marketplace research.
999
+ Get Douyin Creator Marketplace (Xingtu) recommended videos data, including video performance metrics, for creator evaluation, campaign planning, and marketplace research.
914
1000
 
915
1001
  Args:
916
1002
  kol_id: KOL ID.
@@ -924,32 +1010,6 @@ class DouyinXingtuResource(BaseResource):
924
1010
  },
925
1011
  )
926
1012
 
927
- def search_for_author_square_v3(
928
- self,
929
- *,
930
- page: int,
931
- fans_low: int,
932
- fans_high: int,
933
- ) -> ApiResponse[Any]:
934
- """
935
- Creator Search
936
-
937
- Get Douyin Creator Marketplace (Xingtu) creator Search data, including filters, returning profile, and audience, for discovery, comparison, and shortlist building.
938
-
939
- Args:
940
- page: Page number.
941
- fans_low: Minimum fans count.
942
- fans_high: Maximum fans count.
943
- """
944
- return self._get(
945
- "/api/douyin-xingtu/search-for-author-square/v3",
946
- {
947
- "page": page,
948
- "fansLow": fans_low,
949
- "fansHigh": fans_high,
950
- },
951
- )
952
-
953
1013
  def get_kol_daily_fans_v1(
954
1014
  self,
955
1015
  *,
@@ -1051,7 +1111,7 @@ class DouyinXingtuResource(BaseResource):
1051
1111
  },
1052
1112
  )
1053
1113
 
1054
- def get_author_commerce_seeding_base_info_v1(
1114
+ def get_author_commerce_seed_base_info_v1(
1055
1115
  self,
1056
1116
  *,
1057
1117
  kol_id: str,
@@ -9,7 +9,7 @@ from justoneapi._response import ApiResponse
9
9
  class FacebookResource(BaseResource):
10
10
  """Generated resource for Facebook."""
11
11
 
12
- def search_v1(
12
+ def search_post_v1(
13
13
  self,
14
14
  *,
15
15
  keyword: str,
@@ -9,7 +9,7 @@ from justoneapi._response import ApiResponse
9
9
  class ImdbResource(BaseResource):
10
10
  """Generated resource for IMDb."""
11
11
 
12
- def title_release_expectation_query(
12
+ def title_release_expectation_query_v1(
13
13
  self,
14
14
  *,
15
15
  id_: str,
@@ -35,7 +35,7 @@ class ImdbResource(BaseResource):
35
35
  },
36
36
  )
37
37
 
38
- def title_extended_details_query(
38
+ def title_extended_details_query_v1(
39
39
  self,
40
40
  *,
41
41
  id_: str,
@@ -58,7 +58,7 @@ class ImdbResource(BaseResource):
58
58
  },
59
59
  )
60
60
 
61
- def title_top_cast_and_crew(
61
+ def title_top_cast_and_crew_v1(
62
62
  self,
63
63
  *,
64
64
  id_: str,
@@ -81,7 +81,7 @@ class ImdbResource(BaseResource):
81
81
  },
82
82
  )
83
83
 
84
- def title_base_query(
84
+ def title_base_query_v1(
85
85
  self,
86
86
  *,
87
87
  id_: str,
@@ -104,7 +104,7 @@ class ImdbResource(BaseResource):
104
104
  },
105
105
  )
106
106
 
107
- def title_redux_overview_query(
107
+ def title_redux_overview_query_v1(
108
108
  self,
109
109
  *,
110
110
  id_: str,
@@ -127,7 +127,7 @@ class ImdbResource(BaseResource):
127
127
  },
128
128
  )
129
129
 
130
- def title_did_you_know_query(
130
+ def title_did_you_know_query_v1(
131
131
  self,
132
132
  *,
133
133
  id_: str,
@@ -150,7 +150,7 @@ class ImdbResource(BaseResource):
150
150
  },
151
151
  )
152
152
 
153
- def title_critics_review_summary_query(
153
+ def title_critics_review_summary_query_v1(
154
154
  self,
155
155
  *,
156
156
  id_: str,
@@ -173,7 +173,7 @@ class ImdbResource(BaseResource):
173
173
  },
174
174
  )
175
175
 
176
- def title_awards_summary_query(
176
+ def title_awards_summary_query_v1(
177
177
  self,
178
178
  *,
179
179
  id_: str,
@@ -196,7 +196,7 @@ class ImdbResource(BaseResource):
196
196
  },
197
197
  )
198
198
 
199
- def title_user_reviews_summary_query(
199
+ def title_user_reviews_summary_query_v1(
200
200
  self,
201
201
  *,
202
202
  id_: str,
@@ -219,7 +219,7 @@ class ImdbResource(BaseResource):
219
219
  },
220
220
  )
221
221
 
222
- def title_plot_query(
222
+ def title_plot_query_v1(
223
223
  self,
224
224
  *,
225
225
  id_: str,
@@ -242,7 +242,7 @@ class ImdbResource(BaseResource):
242
242
  },
243
243
  )
244
244
 
245
- def title_contribution_questions(
245
+ def title_contribution_questions_v1(
246
246
  self,
247
247
  *,
248
248
  id_: str,
@@ -265,7 +265,7 @@ class ImdbResource(BaseResource):
265
265
  },
266
266
  )
267
267
 
268
- def title_details_query(
268
+ def title_details_query_v1(
269
269
  self,
270
270
  *,
271
271
  id_: str,
@@ -288,7 +288,7 @@ class ImdbResource(BaseResource):
288
288
  },
289
289
  )
290
290
 
291
- def title_box_office_summary(
291
+ def title_box_office_summary_v1(
292
292
  self,
293
293
  *,
294
294
  id_: str,
@@ -311,7 +311,7 @@ class ImdbResource(BaseResource):
311
311
  },
312
312
  )
313
313
 
314
- def title_more_like_this_query(
314
+ def title_more_like_this_query_v1(
315
315
  self,
316
316
  *,
317
317
  id_: str,
@@ -334,7 +334,7 @@ class ImdbResource(BaseResource):
334
334
  },
335
335
  )
336
336
 
337
- def main_search_query(
337
+ def main_search_query_v1(
338
338
  self,
339
339
  *,
340
340
  search_term: str,
@@ -363,7 +363,7 @@ class ImdbResource(BaseResource):
363
363
  },
364
364
  )
365
365
 
366
- def streaming_picks_query(
366
+ def streaming_picks_query_v1(
367
367
  self,
368
368
  *,
369
369
  language_country: str | None = "en_US",
@@ -383,7 +383,7 @@ class ImdbResource(BaseResource):
383
383
  },
384
384
  )
385
385
 
386
- def news_by_category_query(
386
+ def news_by_category_query_v1(
387
387
  self,
388
388
  *,
389
389
  category: str,
@@ -406,7 +406,7 @@ class ImdbResource(BaseResource):
406
406
  },
407
407
  )
408
408
 
409
- def title_chart_rankings(
409
+ def title_chart_rankings_v1(
410
410
  self,
411
411
  *,
412
412
  rankings_chart_type: str,
@@ -429,7 +429,7 @@ class ImdbResource(BaseResource):
429
429
  },
430
430
  )
431
431
 
432
- def title_countries_of_origin(
432
+ def title_countries_of_origin_v1(
433
433
  self,
434
434
  *,
435
435
  id_: str,
@@ -55,7 +55,7 @@ class KuaishouResource(BaseResource):
55
55
  },
56
56
  )
57
57
 
58
- def get_video_details_v2(
58
+ def get_video_detail_v2(
59
59
  self,
60
60
  *,
61
61
  video_id: str,
@@ -98,7 +98,7 @@ class KuaishouResource(BaseResource):
98
98
  },
99
99
  )
100
100
 
101
- def get_user_profile_v1(
101
+ def get_user_detail_v1(
102
102
  self,
103
103
  *,
104
104
  user_id: str,
@@ -118,7 +118,7 @@ class KuaishouResource(BaseResource):
118
118
  },
119
119
  )
120
120
 
121
- def share_link_resolution_v1(
121
+ def share_url_transfer_v1(
122
122
  self,
123
123
  *,
124
124
  share_url: str,
@@ -138,7 +138,7 @@ class KuaishouResource(BaseResource):
138
138
  },
139
139
  )
140
140
 
141
- def get_video_comments_v1(
141
+ def get_video_comment_v1(
142
142
  self,
143
143
  *,
144
144
  video_id: str,
@@ -29,6 +29,26 @@ class TaobaoResource(BaseResource):
29
29
  },
30
30
  )
31
31
 
32
+ def get_item_detail_v2(
33
+ self,
34
+ *,
35
+ item_id: str,
36
+ ) -> ApiResponse[Any]:
37
+ """
38
+ Product Details
39
+
40
+ Get Taobao and Tmall product Details data through the task-backed v2 flow. If data is not ready within a short wait, the response returns a pending task status.
41
+
42
+ Args:
43
+ item_id: AUnique product identifier on Taobao/Tmall (item ID).
44
+ """
45
+ return self._get(
46
+ "/api/taobao/get-item-detail/v2",
47
+ {
48
+ "itemId": item_id,
49
+ },
50
+ )
51
+
32
52
  def get_item_detail_v4(
33
53
  self,
34
54
  *,
@@ -50,7 +50,7 @@ class WeiboResource(BaseResource):
50
50
  },
51
51
  )
52
52
 
53
- def get_weibo_details_v1(
53
+ def get_weibo_detail_v1(
54
54
  self,
55
55
  *,
56
56
  id_: str,
@@ -70,7 +70,7 @@ class WeiboResource(BaseResource):
70
70
  },
71
71
  )
72
72
 
73
- def get_user_profile_v3(
73
+ def get_user_detail_v3(
74
74
  self,
75
75
  *,
76
76
  uid: str,
@@ -136,7 +136,7 @@ class WeiboResource(BaseResource):
136
136
  },
137
137
  )
138
138
 
139
- def get_user_published_posts_v1(
139
+ def get_user_post_v1(
140
140
  self,
141
141
  *,
142
142
  uid: str,
@@ -9,7 +9,7 @@ from justoneapi._response import ApiResponse
9
9
  class WeixinResource(BaseResource):
10
10
  """Generated resource for WeChat Official Accounts."""
11
11
 
12
- def get_user_post(
12
+ def get_user_post_v1(
13
13
  self,
14
14
  *,
15
15
  wxid: str,
@@ -29,7 +29,7 @@ class WeixinResource(BaseResource):
29
29
  },
30
30
  )
31
31
 
32
- def get_article_feedback(
32
+ def get_article_feedback_v1(
33
33
  self,
34
34
  *,
35
35
  article_url: str,
@@ -49,7 +49,7 @@ class WeixinResource(BaseResource):
49
49
  },
50
50
  )
51
51
 
52
- def get_article_comment(
52
+ def get_article_comment_v1(
53
53
  self,
54
54
  *,
55
55
  article_url: str,
@@ -227,7 +227,7 @@ class XiaohongshuResource(BaseResource):
227
227
  },
228
228
  )
229
229
 
230
- def get_search_note_v2(
230
+ def search_note_v2(
231
231
  self,
232
232
  *,
233
233
  keyword: str,
@@ -246,7 +246,7 @@ class XiaohongshuResource(BaseResource):
246
246
  page: Page number for pagination.
247
247
  sort: Sort order for the result set. Available Values: - `general`: General - `popularity_descending`: Popularity Descending - `time_descending`: Time Descending - `comment_descending`: Comment Descending - `collect_descending`: Collect Descending
248
248
  note_type: Note type filter. Available Values: - `_0`: General - `_1`: Video - `_2`: Normal
249
- note_time: Note publish time filter. Available Values: - `一天内`: Within one day - `一周内`: Within a week - `半年内`: Within half a year
249
+ note_time: Note publish time filter. This parameter is for reference only and does not have much effect. Available Values: - `一天内`: Within one day - `一周内`: Within a week - `半年内`: Within half a year
250
250
  """
251
251
  return self._get(
252
252
  "/api/xiaohongshu/search-note/v2",
@@ -259,7 +259,7 @@ class XiaohongshuResource(BaseResource):
259
259
  },
260
260
  )
261
261
 
262
- def get_search_note_v3(
262
+ def search_note_v3(
263
263
  self,
264
264
  *,
265
265
  keyword: str,
@@ -288,7 +288,7 @@ class XiaohongshuResource(BaseResource):
288
288
  },
289
289
  )
290
290
 
291
- def get_search_user_v2(
291
+ def search_user_v2(
292
292
  self,
293
293
  *,
294
294
  keyword: str,
@@ -171,9 +171,9 @@ class XiaohongshuPgyResource(BaseResource):
171
171
  advertise_switch: str | None = "ALL",
172
172
  ) -> ApiResponse[Any]:
173
173
  """
174
- Note Performance Rates
174
+ Note Performance Metrics
175
175
 
176
- Get Xiaohongshu Creator Marketplace (Pugongying) note Performance Rates data, including core metrics, trend signals, and performance indicators, for content efficiency analysis, creator benchmarking, and campaign planning.
176
+ Get Xiaohongshu Creator Marketplace (Pugongying) note performance metrics data, including core metrics, trend signals, and performance indicators, for content efficiency analysis, creator benchmarking, and campaign planning.
177
177
 
178
178
  Args:
179
179
  user_id: KOL's user ID.
@@ -234,9 +234,9 @@ class XiaohongshuPgyResource(BaseResource):
234
234
  user_id: str,
235
235
  ) -> ApiResponse[Any]:
236
236
  """
237
- Follower Profile
237
+ Follower Distribution
238
238
 
239
- Get Xiaohongshu Creator Marketplace (Pugongying) follower Profile data, including audience demographics, interests, and distribution metrics, for creator evaluation, campaign planning, and creator benchmarking.
239
+ Get Xiaohongshu Creator Marketplace (Pugongying) follower distribution data, including audience demographics, interests, and distribution metrics, for creator evaluation, campaign planning, and creator benchmarking.
240
240
 
241
241
  Args:
242
242
  user_id: KOL's user ID.
@@ -398,9 +398,9 @@ class XiaohongshuPgyResource(BaseResource):
398
398
  accept_cache: bool | None = False,
399
399
  ) -> ApiResponse[Any]:
400
400
  """
401
- Note Performance Rates
401
+ Note Performance Metrics
402
402
 
403
- Get Xiaohongshu Creator Marketplace (Pugongying) note Performance Rates data, including core metrics, trend signals, and performance indicators, for content efficiency analysis, creator benchmarking, and campaign planning.
403
+ Get Xiaohongshu Creator Marketplace (Pugongying) note performance metrics data, including core metrics, trend signals, and performance indicators, for content efficiency analysis, creator benchmarking, and campaign planning.
404
404
 
405
405
  Args:
406
406
  kol_id: KOL ID.
@@ -429,9 +429,9 @@ class XiaohongshuPgyResource(BaseResource):
429
429
  accept_cache: bool | None = False,
430
430
  ) -> ApiResponse[Any]:
431
431
  """
432
- Follower Profile
432
+ Follower Distribution
433
433
 
434
- Get Xiaohongshu Creator Marketplace (Pugongying) follower Profile data, including audience demographics, interests, and distribution metrics, for creator evaluation, campaign planning, and creator benchmarking.
434
+ Get Xiaohongshu Creator Marketplace (Pugongying) follower distribution data, including audience demographics, interests, and distribution metrics, for creator evaluation, campaign planning, and creator benchmarking.
435
435
 
436
436
  Args:
437
437
  kol_id: KOL ID.
@@ -452,9 +452,9 @@ class XiaohongshuPgyResource(BaseResource):
452
452
  accept_cache: bool | None = False,
453
453
  ) -> ApiResponse[Any]:
454
454
  """
455
- Follower Analysis
455
+ Follower Summary
456
456
 
457
- Get Xiaohongshu Creator Marketplace (Pugongying) follower Analysis data, including core metrics, trend signals, and performance indicators, for creator evaluation, campaign planning, and creator benchmarking.
457
+ Get Xiaohongshu Creator Marketplace (Pugongying) follower summary data, including core metrics, trend signals, and performance indicators, for creator evaluation, campaign planning, and creator benchmarking.
458
458
 
459
459
  Args:
460
460
  kol_id: KOL ID.
@@ -477,9 +477,9 @@ class XiaohongshuPgyResource(BaseResource):
477
477
  accept_cache: bool | None = False,
478
478
  ) -> ApiResponse[Any]:
479
479
  """
480
- Follower Growth Trend
480
+ Follower Growth History
481
481
 
482
- Get Xiaohongshu Creator Marketplace (Pugongying) follower Growth Trend data, including historical audience changes over time, for creator evaluation, campaign planning, and creator benchmarking.
482
+ Get Xiaohongshu Creator Marketplace (Pugongying) follower growth history data, including historical audience changes over time, for creator evaluation, campaign planning, and creator benchmarking.
483
483
 
484
484
  Args:
485
485
  kol_id: KOL ID.
@@ -532,32 +532,6 @@ class XiaohongshuPgyResource(BaseResource):
532
532
  },
533
533
  )
534
534
 
535
- def get_kol_data_summary_v1(
536
- self,
537
- *,
538
- kol_id: str,
539
- business: str,
540
- accept_cache: bool | None = False,
541
- ) -> ApiResponse[Any]:
542
- """
543
- Creator Performance Overview
544
-
545
- Get Xiaohongshu Creator Marketplace (Pugongying) creator Performance Overview data, including audience, content performance, and commercial indicators, for quick evaluation.
546
-
547
- Args:
548
- kol_id: KOL ID.
549
- business: Business type. Available Values: - `_0`: Normal notes - `_1`: Cooperation notes
550
- accept_cache: Enable cache.
551
- """
552
- return self._get(
553
- "/api/xiaohongshu-pgy/get-kol-data-summary/v1",
554
- {
555
- "kolId": kol_id,
556
- "business": business,
557
- "acceptCache": accept_cache,
558
- },
559
- )
560
-
561
535
  def get_kol_data_summary_v2(
562
536
  self,
563
537
  *,
@@ -566,9 +540,9 @@ class XiaohongshuPgyResource(BaseResource):
566
540
  accept_cache: bool | None = False,
567
541
  ) -> ApiResponse[Any]:
568
542
  """
569
- Creator Performance Overview
543
+ Data Summary
570
544
 
571
- Get Xiaohongshu Creator Marketplace (Pugongying) creator Performance Overview data, including audience, content performance, and commercial indicators, for quick evaluation.
545
+ Get Xiaohongshu Creator Marketplace (Pugongying) summary data, including activity, engagement, and audience growth, for creator evaluation, campaign planning, and creator benchmarking.
572
546
 
573
547
  Args:
574
548
  kol_id: KOL ID.
@@ -630,7 +604,7 @@ class XiaohongshuPgyResource(BaseResource):
630
604
  },
631
605
  )
632
606
 
633
- def get_kol_data_core_v1(
607
+ def get_kol_core_data_v1(
634
608
  self,
635
609
  *,
636
610
  kol_id: str,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: justoneapi
3
- Version: 2.0.3
3
+ Version: 3.0.1
4
4
  Summary: OpenAPI-driven Python SDK for Just One API
5
5
  Author-email: Just One API <support@justoneapi.com>
6
6
  Requires-Python: >=3.10
@@ -21,9 +21,9 @@ Dynamic: license-file
21
21
 
22
22
  # Just One API - Python SDK
23
23
 
24
- Official Python SDK for accessing [Just One API](https://justoneapi.com) - a unified data service platform that provides structured data from social media, e-commerce, and content platforms.
24
+ Official Python SDK for accessing [Just One API](https://justoneapi.com/en?utm_source=github.com&utm_medium=referral&utm_campaign=justoneapi_justoneapi_python&utm_content=repo_readme) - a unified data service platform that provides structured data from social media, e-commerce, and content platforms.
25
25
 
26
- Supported platforms include Taobao & Tmall, Xiaohongshu, Xiaohongshu Pugongying, Douyin, Douyin Xingtu, Kuaishou, Weibo, Bilibili, JD, WeChat, Douban, TikTok, TikTok Shop, Youku, Instagram, YouTube, Reddit, Toutiao, Zhihu, Amazon, Facebook, X (Twitter), Beike, IMDb, and more. To explore the full API catalog, visit the [official website](https://justoneapi.com).
26
+ Supported platforms include Taobao & Tmall, Xiaohongshu, Xiaohongshu Pugongying, Douyin, Douyin Xingtu, Kuaishou, Weibo, Bilibili, JD, WeChat, Douban, TikTok, TikTok Shop, Youku, Instagram, YouTube, Reddit, Toutiao, Zhihu, Amazon, Facebook, X (Twitter), Beike, IMDb, and more. To explore the full API catalog, visit the [official website]([https://justoneapi.com](https://justoneapi.com/en?utm_source=github.com&utm_medium=referral&utm_campaign=justoneapi_justoneapi_python&utm_content=repo_readme)).
27
27
 
28
28
  ## Installation
29
29
 
@@ -86,13 +86,13 @@ All API requests require a valid API token.
86
86
 
87
87
  Register here:
88
88
 
89
- - [Get API Token](https://dashboard.justoneapi.com/en/register)
89
+ - [Get API Token](https://dashboard.justoneapi.com/en/login?utm_source=github.com&utm_medium=referral&utm_campaign=justoneapi_justoneapi_python&utm_content=repo_readme)
90
90
 
91
91
  ## Documentation
92
92
 
93
93
  Full API documentation:
94
94
 
95
- - [API Documentation](https://docs.justoneapi.com/en)
95
+ - [API Documentation](https://docs.justoneapi.com/en?utm_source=github.com&utm_medium=referral&utm_campaign=justoneapi_justoneapi_python&utm_content=repo_readme)
96
96
 
97
97
  The documentation includes:
98
98
 
@@ -103,13 +103,13 @@ The documentation includes:
103
103
 
104
104
  ## Official Website
105
105
 
106
- - [Home Page](https://justoneapi.com)
106
+ - [Home Page](https://justoneapi.com/en?utm_source=github.com&utm_medium=referral&utm_campaign=justoneapi_justoneapi_python&utm_content=repo_readme)
107
107
 
108
108
  ## Contact
109
109
 
110
110
  If you have questions, feedback, or partnership inquiries:
111
111
 
112
- - [Contact Us](https://justoneapi.com/en/contact)
112
+ - [Contact Us](https://justoneapi.com/en/contact?utm_source=github.com&utm_medium=referral&utm_campaign=justoneapi_justoneapi_python&utm_content=repo_readme)
113
113
 
114
114
  ## License
115
115
 
@@ -90,3 +90,36 @@ def test_diff_summary_reports_operation_changes():
90
90
  assert "demoV2 [GET /api/demo/v2]" in summary
91
91
  assert "demoV1 [GET /api/demo/v1]" in summary
92
92
  assert "Changed operationId count: 1" in summary
93
+
94
+
95
+ def test_normalize_spec_derives_method_name_from_path():
96
+ spec = {
97
+ "paths": {
98
+ "/api/demo/v1": {"get": {"operationId": "stillWrong"}},
99
+ "/api/demo/path-derived/v1": {"get": {"operationId": "totallyWrongMethod"}},
100
+ "/api/demo/nested/child/v2": {"get": {"operationId": "anotherBadNameV9"}},
101
+ "/api/demo/get-kol-show-items-v2/v1": {
102
+ "get": {"operationId": "irrelevantOperationId"}
103
+ },
104
+ }
105
+ }
106
+
107
+ normalized = normalize_spec(spec, {})
108
+
109
+ assert (
110
+ normalized["paths"]["/api/demo/v1"]["get"]["x-sdk-method-name"] == "demo_v1"
111
+ )
112
+ assert (
113
+ normalized["paths"]["/api/demo/path-derived/v1"]["get"]["x-sdk-method-name"]
114
+ == "path_derived_v1"
115
+ )
116
+ assert (
117
+ normalized["paths"]["/api/demo/nested/child/v2"]["get"]["x-sdk-method-name"]
118
+ == "nested_child_v2"
119
+ )
120
+ assert (
121
+ normalized["paths"]["/api/demo/get-kol-show-items-v2/v1"]["get"][
122
+ "x-sdk-method-name"
123
+ ]
124
+ == "get_kol_show_items_v2_v1"
125
+ )
@@ -34,6 +34,11 @@ def test_client_exposes_generated_resources():
34
34
  assert type(client.douyin_xingtu).__name__ == "DouyinXingtuResource"
35
35
  assert type(client.xiaohongshu_pgy).__name__ == "XiaohongshuPgyResource"
36
36
  assert hasattr(client.search, "search_v1")
37
+ assert hasattr(client.weixin, "get_article_comment_v1")
38
+ assert hasattr(client.weixin, "get_article_feedback_v1")
39
+ assert hasattr(client.weixin, "get_user_post_v1")
40
+ assert hasattr(client.bilibili, "get_user_relation_stat_v1")
41
+ assert hasattr(client.bilibili, "get_video_caption_v2")
37
42
  assert hasattr(client.douyin, "get_video_detail_v2")
38
43
  assert hasattr(client.twitter, "get_user_posts_v1")
39
44
  finally:
@@ -1 +0,0 @@
1
- __version__ = "2.0.3"
File without changes
File without changes
File without changes
File without changes