Skip to content

Commit ae526da

Browse files
authored
Merge pull request #7 from justoneapi/codex/openapi-sync
chore: sync OpenAPI spec and generated SDK
2 parents 1794040 + c58322d commit ae526da

File tree

7 files changed

+279
-17
lines changed

7 files changed

+279
-17
lines changed

justoneapi/generated/models.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ class Code(Enum):
1313
field_0 = "0"
1414
field_100 = "100"
1515
field_101 = "101"
16+
field_202 = "202"
1617
field_300 = "300"
1718
field_301 = "301"
1819
field_302 = "302"

justoneapi/generated/resources/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from justoneapi.generated.resources.bilibili import BilibiliResource
66
from justoneapi.generated.resources.douban import DoubanResource
77
from justoneapi.generated.resources.douyin import DouyinResource
8+
from justoneapi.generated.resources.douyin_ec import DouyinEcResource
89
from justoneapi.generated.resources.douyin_xingtu import DouyinXingtuResource
910
from justoneapi.generated.resources.facebook import FacebookResource
1011
from justoneapi.generated.resources.imdb import ImdbResource
@@ -33,6 +34,7 @@
3334
"bilibili": BilibiliResource,
3435
"douban": DoubanResource,
3536
"douyin": DouyinResource,
37+
"douyin_ec": DouyinEcResource,
3638
"douyin_xingtu": DouyinXingtuResource,
3739
"facebook": FacebookResource,
3840
"imdb": ImdbResource,
@@ -62,6 +64,7 @@
6264
"BilibiliResource",
6365
"DoubanResource",
6466
"DouyinResource",
67+
"DouyinEcResource",
6568
"DouyinXingtuResource",
6669
"FacebookResource",
6770
"ImdbResource",
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
from __future__ import annotations
2+
3+
from typing import Any
4+
5+
from justoneapi._resource import BaseResource
6+
from justoneapi._response import ApiResponse
7+
8+
9+
class DouyinEcResource(BaseResource):
10+
"""Generated resource for Douyin E-commerce."""
11+
12+
def get_item_detail_v1(
13+
self,
14+
*,
15+
item_id: str,
16+
) -> ApiResponse[Any]:
17+
"""
18+
Item Details
19+
20+
Get Douyin E-commerce item details, including price, title, and stock, for product monitoring and competitive analysis.
21+
22+
Args:
23+
item_id: The unique ID of the item on Douyin E-commerce.
24+
"""
25+
return self._get(
26+
"/api/douyin-ec/get-item-detail/v1",
27+
{
28+
"itemId": item_id,
29+
},
30+
)

justoneapi/generated/resources/kuaishou.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ def get_video_comments_v1(
155155
- Gathering engagement data for specific videos
156156
157157
Args:
158-
video_id: The unique ID of the Kuaishou video, e.g. `3xbknvct79h46h9`
158+
video_id: The unique ID of the Kuaishou video, e.g. `3xbknvct79h46h9` or refer_photo_id `177012131237`
159159
pcursor: Pagination cursor for subsequent pages.
160160
"""
161161
return self._get(

justoneapi/generated/resources/weibo.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ def search_all_v2(
1818
end_day: str,
1919
end_hour: int,
2020
hot_sort: bool | None = False,
21+
contains: str | None = "ALL",
2122
page: int | None = 1,
2223
) -> ApiResponse[Any]:
2324
"""
@@ -32,6 +33,7 @@ def search_all_v2(
3233
end_day: End Day (yyyy-MM-dd).
3334
end_hour: End Hour (0-23).
3435
hot_sort: Hot sort, true for hot sort, false for time sort. Default is false.
36+
contains: Contains filter for the result set. Available Values: - `ALL`: All - `PICTURE`: Has Picture - `VIDEO`: Has Video - `MUSIC`: Has Music - `LINK`: Has Link
3537
page: Page number, starting with 1.
3638
"""
3739
return self._get(
@@ -43,6 +45,7 @@ def search_all_v2(
4345
"endDay": end_day,
4446
"endHour": end_hour,
4547
"hotSort": hot_sort,
48+
"contains": contains,
4649
"page": page,
4750
},
4851
)
@@ -159,6 +162,29 @@ def get_user_published_posts_v1(
159162
},
160163
)
161164

165+
def get_user_video_list_v1(
166+
self,
167+
*,
168+
uid: str,
169+
cursor: str | None = None,
170+
) -> ApiResponse[Any]:
171+
"""
172+
User Video List
173+
174+
Get Weibo user Video list data (waterfall), including pagination cursor for next page.
175+
176+
Args:
177+
uid: Weibo User ID (UID).
178+
cursor: Pagination cursor returned by the previous response.
179+
"""
180+
return self._get(
181+
"/api/weibo/get-user-video-list/v1",
182+
{
183+
"uid": uid,
184+
"cursor": cursor,
185+
},
186+
)
187+
162188
def tv_component_v1(
163189
self,
164190
*,

openapi/public-api.json

Lines changed: 108 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
"0",
99
"100",
1010
"101",
11+
"202",
1112
"300",
1213
"301",
1314
"302",
@@ -8905,6 +8906,45 @@
89058906
"x-order": "21001200"
89068907
}
89078908
},
8909+
"/api/douyin-ec/get-item-detail/v1": {
8910+
"get": {
8911+
"description": "Get Douyin E-commerce item details, including price, title, and stock, for product monitoring and competitive analysis.",
8912+
"operationId": "getItemDetailV1",
8913+
"parameters": [
8914+
{
8915+
"description": "Access token for this API service.",
8916+
"in": "query",
8917+
"name": "token",
8918+
"required": true,
8919+
"schema": {
8920+
"type": "string"
8921+
}
8922+
},
8923+
{
8924+
"description": "The unique ID of the item on Douyin E-commerce.",
8925+
"in": "query",
8926+
"name": "itemId",
8927+
"required": true,
8928+
"schema": {
8929+
"type": "string"
8930+
}
8931+
}
8932+
],
8933+
"responses": {
8934+
"default": {
8935+
"content": {
8936+
"application/json": {}
8937+
},
8938+
"description": "default response"
8939+
}
8940+
},
8941+
"summary": "Item Details",
8942+
"tags": [
8943+
"Douyin E-commerce"
8944+
],
8945+
"x-order": "14502000"
8946+
}
8947+
},
89088948
"/api/douyin-xingtu/get-author-commerce-seed-base-info/v1": {
89098949
"get": {
89108950
"description": "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.",
@@ -37293,7 +37333,7 @@
3729337333
}
3729437334
},
3729537335
{
37296-
"description": "The unique ID of the Kuaishou video, e.g. `3xbknvct79h46h9`",
37336+
"description": "The unique ID of the Kuaishou video, e.g. `3xbknvct79h46h9` or refer_photo_id `177012131237`",
3729737337
"in": "query",
3729837338
"name": "videoId",
3729937339
"required": true,
@@ -57944,6 +57984,54 @@
5794457984
"x-order": "17001500"
5794557985
}
5794657986
},
57987+
"/api/weibo/get-user-video-list/v1": {
57988+
"get": {
57989+
"description": "Get Weibo user Video list data (waterfall), including pagination cursor for next page.",
57990+
"operationId": "getUserVideoListV1",
57991+
"parameters": [
57992+
{
57993+
"description": "API access token.",
57994+
"in": "query",
57995+
"name": "token",
57996+
"required": true,
57997+
"schema": {
57998+
"type": "string"
57999+
}
58000+
},
58001+
{
58002+
"description": "Weibo User ID (UID).",
58003+
"in": "query",
58004+
"name": "uid",
58005+
"required": true,
58006+
"schema": {
58007+
"type": "string"
58008+
}
58009+
},
58010+
{
58011+
"description": "Pagination cursor returned by the previous response.",
58012+
"in": "query",
58013+
"name": "cursor",
58014+
"required": false,
58015+
"schema": {
58016+
"type": "string"
58017+
}
58018+
}
58019+
],
58020+
"responses": {
58021+
"default": {
58022+
"content": {
58023+
"application/json": {}
58024+
},
58025+
"description": "default response"
58026+
}
58027+
},
58028+
"summary": "User Video List",
58029+
"tags": [
58030+
"Weibo"
58031+
],
58032+
"x-order": "17001510"
58033+
}
58034+
},
5794758035
"/api/weibo/get-weibo-detail/v1": {
5794858036
"get": {
5794958037
"description": "Get Weibo post Details data, including media, author metadata, and engagement counts, for post analysis, archiving, and campaign monitoring.",
@@ -59145,6 +59233,24 @@
5914559233
"type": "boolean"
5914659234
}
5914759235
},
59236+
{
59237+
"description": "Contains filter for the result set.\n\nAvailable Values:\n- `ALL`: All\n- `PICTURE`: Has Picture\n- `VIDEO`: Has Video\n- `MUSIC`: Has Music\n- `LINK`: Has Link",
59238+
"in": "query",
59239+
"name": "contains",
59240+
"required": false,
59241+
"schema": {
59242+
"default": "ALL",
59243+
"description": "Contains",
59244+
"enum": [
59245+
"ALL",
59246+
"PICTURE",
59247+
"VIDEO",
59248+
"MUSIC",
59249+
"LINK"
59250+
],
59251+
"type": "string"
59252+
}
59253+
},
5914859254
{
5914959255
"description": "Page number, starting with 1.",
5915059256
"in": "query",
@@ -68054,7 +68160,6 @@
6805468160
},
6805568161
"/api/xiaohongshu/search-note/v3": {
6805668162
"get": {
68057-
"deprecated": true,
6805868163
"description": "Get Xiaohongshu (RedNote) note Search data, including snippets, authors, and media, for topic discovery.",
6805968164
"operationId": "getSearchNoteV3",
6806068165
"parameters": [
@@ -68123,12 +68228,7 @@
6812368228
"responses": {
6812468229
"default": {
6812568230
"content": {
68126-
"application/json": {
68127-
"example": {
68128-
"code": 0,
68129-
"data": {}
68130-
}
68131-
}
68231+
"application/json": {}
6813268232
},
6813368233
"description": "default response"
6813468234
}

0 commit comments

Comments
 (0)