polyv-live-api-sdk 1.0.0

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 (148) hide show
  1. package/dist/auth/index.d.ts +9 -0
  2. package/dist/auth/index.d.ts.map +1 -0
  3. package/dist/auth/signature.d.ts +67 -0
  4. package/dist/auth/signature.d.ts.map +1 -0
  5. package/dist/client.d.ts +209 -0
  6. package/dist/client.d.ts.map +1 -0
  7. package/dist/constants/error-codes.d.ts +134 -0
  8. package/dist/constants/error-codes.d.ts.map +1 -0
  9. package/dist/constants/index.d.ts +8 -0
  10. package/dist/constants/index.d.ts.map +1 -0
  11. package/dist/errors/index.d.ts +11 -0
  12. package/dist/errors/index.d.ts.map +1 -0
  13. package/dist/errors/polyv-api-error.d.ts +71 -0
  14. package/dist/errors/polyv-api-error.d.ts.map +1 -0
  15. package/dist/errors/polyv-error.d.ts +31 -0
  16. package/dist/errors/polyv-error.d.ts.map +1 -0
  17. package/dist/errors/polyv-validation-error.d.ts +72 -0
  18. package/dist/errors/polyv-validation-error.d.ts.map +1 -0
  19. package/dist/errors/type-guards.d.ts +19 -0
  20. package/dist/errors/type-guards.d.ts.map +1 -0
  21. package/dist/errors/types.d.ts +13 -0
  22. package/dist/errors/types.d.ts.map +1 -0
  23. package/dist/index.cjs +15295 -0
  24. package/dist/index.cjs.map +1 -0
  25. package/dist/index.d.cts +19501 -0
  26. package/dist/index.d.ts +18 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +15258 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/services/account.service.d.ts +402 -0
  31. package/dist/services/account.service.d.ts.map +1 -0
  32. package/dist/services/channel.service.d.ts +2033 -0
  33. package/dist/services/channel.service.d.ts.map +1 -0
  34. package/dist/services/chat.service.d.ts +592 -0
  35. package/dist/services/chat.service.d.ts.map +1 -0
  36. package/dist/services/finance.service.d.ts +160 -0
  37. package/dist/services/finance.service.d.ts.map +1 -0
  38. package/dist/services/group.service.d.ts +191 -0
  39. package/dist/services/group.service.d.ts.map +1 -0
  40. package/dist/services/index.d.ts +27 -0
  41. package/dist/services/index.d.ts.map +1 -0
  42. package/dist/services/live-interaction.service.d.ts +474 -0
  43. package/dist/services/live-interaction.service.d.ts.map +1 -0
  44. package/dist/services/other.service.d.ts +687 -0
  45. package/dist/services/other.service.d.ts.map +1 -0
  46. package/dist/services/platform.service.d.ts +190 -0
  47. package/dist/services/platform.service.d.ts.map +1 -0
  48. package/dist/services/player.service.d.ts +195 -0
  49. package/dist/services/player.service.d.ts.map +1 -0
  50. package/dist/services/v4/ai.service.d.ts +205 -0
  51. package/dist/services/v4/ai.service.d.ts.map +1 -0
  52. package/dist/services/v4/channel.service.d.ts +854 -0
  53. package/dist/services/v4/channel.service.d.ts.map +1 -0
  54. package/dist/services/v4/chat.service.d.ts +199 -0
  55. package/dist/services/v4/chat.service.d.ts.map +1 -0
  56. package/dist/services/v4/global.service.d.ts +86 -0
  57. package/dist/services/v4/global.service.d.ts.map +1 -0
  58. package/dist/services/v4/group.service.d.ts +132 -0
  59. package/dist/services/v4/group.service.d.ts.map +1 -0
  60. package/dist/services/v4/material.service.d.ts +85 -0
  61. package/dist/services/v4/material.service.d.ts.map +1 -0
  62. package/dist/services/v4/platform.service.d.ts +148 -0
  63. package/dist/services/v4/platform.service.d.ts.map +1 -0
  64. package/dist/services/v4/robot.service.d.ts +144 -0
  65. package/dist/services/v4/robot.service.d.ts.map +1 -0
  66. package/dist/services/v4/statistics.service.d.ts +61 -0
  67. package/dist/services/v4/statistics.service.d.ts.map +1 -0
  68. package/dist/services/v4/user.service.d.ts +1014 -0
  69. package/dist/services/v4/user.service.d.ts.map +1 -0
  70. package/dist/services/v4/webapp.service.d.ts +131 -0
  71. package/dist/services/v4/webapp.service.d.ts.map +1 -0
  72. package/dist/services/web.service.d.ts +758 -0
  73. package/dist/services/web.service.d.ts.map +1 -0
  74. package/dist/types/account.d.ts +287 -0
  75. package/dist/types/account.d.ts.map +1 -0
  76. package/dist/types/auth.d.ts +31 -0
  77. package/dist/types/auth.d.ts.map +1 -0
  78. package/dist/types/callback.d.ts +156 -0
  79. package/dist/types/callback.d.ts.map +1 -0
  80. package/dist/types/channel.d.ts +2263 -0
  81. package/dist/types/channel.d.ts.map +1 -0
  82. package/dist/types/chat-banned.d.ts +366 -0
  83. package/dist/types/chat-banned.d.ts.map +1 -0
  84. package/dist/types/chat-censor-role.d.ts +190 -0
  85. package/dist/types/chat-censor-role.d.ts.map +1 -0
  86. package/dist/types/chat.d.ts +142 -0
  87. package/dist/types/chat.d.ts.map +1 -0
  88. package/dist/types/client.d.ts +43 -0
  89. package/dist/types/client.d.ts.map +1 -0
  90. package/dist/types/common.d.ts +52 -0
  91. package/dist/types/common.d.ts.map +1 -0
  92. package/dist/types/finance.d.ts +252 -0
  93. package/dist/types/finance.d.ts.map +1 -0
  94. package/dist/types/group.d.ts +129 -0
  95. package/dist/types/group.d.ts.map +1 -0
  96. package/dist/types/index.d.ts +50 -0
  97. package/dist/types/index.d.ts.map +1 -0
  98. package/dist/types/live-interaction.d.ts +301 -0
  99. package/dist/types/live-interaction.d.ts.map +1 -0
  100. package/dist/types/pagination.d.ts +37 -0
  101. package/dist/types/pagination.d.ts.map +1 -0
  102. package/dist/types/platform.d.ts +178 -0
  103. package/dist/types/platform.d.ts.map +1 -0
  104. package/dist/types/player.d.ts +177 -0
  105. package/dist/types/player.d.ts.map +1 -0
  106. package/dist/types/request.d.ts +45 -0
  107. package/dist/types/request.d.ts.map +1 -0
  108. package/dist/types/response.d.ts +58 -0
  109. package/dist/types/response.d.ts.map +1 -0
  110. package/dist/types/signature.d.ts +50 -0
  111. package/dist/types/signature.d.ts.map +1 -0
  112. package/dist/types/upload.d.ts +32 -0
  113. package/dist/types/upload.d.ts.map +1 -0
  114. package/dist/types/v4-ai.d.ts +379 -0
  115. package/dist/types/v4-ai.d.ts.map +1 -0
  116. package/dist/types/v4-channel.d.ts +2400 -0
  117. package/dist/types/v4-channel.d.ts.map +1 -0
  118. package/dist/types/v4-chat.d.ts +190 -0
  119. package/dist/types/v4-chat.d.ts.map +1 -0
  120. package/dist/types/v4-global.d.ts +150 -0
  121. package/dist/types/v4-global.d.ts.map +1 -0
  122. package/dist/types/v4-group.d.ts +212 -0
  123. package/dist/types/v4-group.d.ts.map +1 -0
  124. package/dist/types/v4-material.d.ts +141 -0
  125. package/dist/types/v4-material.d.ts.map +1 -0
  126. package/dist/types/v4-platform.d.ts +223 -0
  127. package/dist/types/v4-platform.d.ts.map +1 -0
  128. package/dist/types/v4-robot.d.ts +149 -0
  129. package/dist/types/v4-robot.d.ts.map +1 -0
  130. package/dist/types/v4-statistics.d.ts +87 -0
  131. package/dist/types/v4-statistics.d.ts.map +1 -0
  132. package/dist/types/v4-user.d.ts +1021 -0
  133. package/dist/types/v4-user.d.ts.map +1 -0
  134. package/dist/types/v4-webapp.d.ts +161 -0
  135. package/dist/types/v4-webapp.d.ts.map +1 -0
  136. package/dist/types/version.d.ts +21 -0
  137. package/dist/types/version.d.ts.map +1 -0
  138. package/dist/types/web.d.ts +868 -0
  139. package/dist/types/web.d.ts.map +1 -0
  140. package/dist/utils/env.d.ts +54 -0
  141. package/dist/utils/env.d.ts.map +1 -0
  142. package/dist/utils/index.d.ts +11 -0
  143. package/dist/utils/index.d.ts.map +1 -0
  144. package/dist/utils/pagination.d.ts +62 -0
  145. package/dist/utils/pagination.d.ts.map +1 -0
  146. package/dist/utils/signature.d.ts +67 -0
  147. package/dist/utils/signature.d.ts.map +1 -0
  148. package/package.json +76 -0
@@ -0,0 +1,2263 @@
1
+ /**
2
+ * Channel Types
3
+ *
4
+ * Type definitions for PolyV Live Channel operations.
5
+ * This file is intentionally minimal - types will be properly defined during implementation.
6
+ *
7
+ * @module types/channel
8
+ */
9
+ /**
10
+ * Channel Scene Types (V2 API)
11
+ */
12
+ export type ChannelScene = 'alone' | 'ppt' | 'topclass' | 'seminar';
13
+ /**
14
+ * Channel New Scene Types (V4 API)
15
+ * 直播场景
16
+ */
17
+ export type NewScene = 'topclass' | 'double' | 'train' | 'alone' | 'seminar' | 'guide';
18
+ /**
19
+ * Channel Template Types (V4 API)
20
+ * 直播模板
21
+ */
22
+ export type Template = 'ppt' | 'portrait_ppt' | 'alone' | 'portrait_alone' | 'topclass' | 'portrait_topclass' | 'seminar';
23
+ /**
24
+ * Channel Broadcast Type (V4 API)
25
+ * 转播类型
26
+ */
27
+ export type BroadcastType = 'normal' | 'transmit' | 'receive';
28
+ /**
29
+ * Double Teacher Type (V4 API)
30
+ * 线上双师类型
31
+ */
32
+ export type DoubleTeacherType = 'transmit' | 'receive';
33
+ /**
34
+ * Channel Stream Types
35
+ */
36
+ export type ChannelStreamType = 'client' | 'pull' | 'thirdpull' | 'disk' | 'audio';
37
+ /**
38
+ * Y/N Flag Type
39
+ */
40
+ export type YNFlag = 'Y' | 'N';
41
+ /**
42
+ * Channel Model
43
+ *
44
+ * Basic channel information returned from API operations.
45
+ */
46
+ export interface ChannelModel {
47
+ channelId: string;
48
+ userId: string;
49
+ name: string;
50
+ publisher?: string;
51
+ description?: string;
52
+ url: string;
53
+ stream: string;
54
+ scene: ChannelScene;
55
+ channelPasswd: string;
56
+ streamType: ChannelStreamType;
57
+ pureRtcEnabled: YNFlag;
58
+ status?: string;
59
+ createdTime?: number;
60
+ lastModified?: number;
61
+ }
62
+ /**
63
+ * Channel Detail
64
+ *
65
+ * Complete channel details including all configuration options.
66
+ */
67
+ export interface ChannelDetail extends ChannelModel {
68
+ categoryId?: string;
69
+ maxViewer?: number;
70
+ linkMicLimit?: number;
71
+ playerColor?: string;
72
+ autoPlay?: number;
73
+ logoImage?: string;
74
+ logoOpacity?: number;
75
+ logoPosition?: string;
76
+ }
77
+ /**
78
+ * Create Channel Request
79
+ *
80
+ * Parameters required for creating a new channel.
81
+ */
82
+ export interface CreateChannelRequest {
83
+ /** Channel name (max 60 characters) - REQUIRED */
84
+ name: string;
85
+ /** Channel password (max 16 characters) - REQUIRED */
86
+ channelPasswd: string;
87
+ /** PolyV user ID - REQUIRED */
88
+ userId: string;
89
+ /** Live stream scene - OPTIONAL */
90
+ scene?: ChannelScene;
91
+ /** Real-time communication enabled - OPTIONAL */
92
+ pureRtcEnabled?: YNFlag;
93
+ /** Category ID - OPTIONAL */
94
+ categoryId?: string;
95
+ /** Maximum online viewers - OPTIONAL */
96
+ maxViewer?: number;
97
+ /** Link mic limit (-1 to 16) - OPTIONAL */
98
+ linkMicLimit?: number;
99
+ /** Player color (hex) - OPTIONAL */
100
+ playerColor?: string;
101
+ /** Auto play (0/1) - OPTIONAL */
102
+ autoPlay?: number;
103
+ /** Stream type - OPTIONAL */
104
+ streamType?: ChannelStreamType;
105
+ }
106
+ /**
107
+ * Create Channel V4 Request
108
+ *
109
+ * Parameters required for creating a new channel using V4 API.
110
+ * V4 API uses JSON body for request parameters.
111
+ *
112
+ * @see docs/api/v4/channel/create.md
113
+ */
114
+ export interface CreateChannelV4Request {
115
+ /** 直播名称,最大长度100 - REQUIRED */
116
+ name: string;
117
+ /** 直播场景 - REQUIRED */
118
+ newScene: NewScene;
119
+ /** 直播模板 - REQUIRED */
120
+ template: Template;
121
+ /** 讲师登录密码,长度6-16位,不传则由系统随机生成 */
122
+ channelPasswd?: string;
123
+ /** 研讨会主持人密码,仅直播场景是研讨会时有效,长度6-16位 */
124
+ seminarHostPassword?: string;
125
+ /** 研讨会参会人密码,仅直播场景是研讨会时有效,长度6-16位 */
126
+ seminarAttendeePassword?: string;
127
+ /** 直播延迟 Y无延时 N普通延迟 */
128
+ pureRtcEnabled?: YNFlag;
129
+ /** 转播类型 normal不开启、transmit发起转播、receive接收转播 */
130
+ type?: BroadcastType;
131
+ /** 线上双师 transmit大房间、receive小房间 */
132
+ doubleTeacherType?: DoubleTeacherType;
133
+ /** 中英双语直播开关 Y开、N关 */
134
+ cnAndEnLiveEnabled?: YNFlag;
135
+ /** 引导页图片地址 */
136
+ splashImg?: string;
137
+ /** 连麦人数限制,最多16人 */
138
+ linkMicLimit?: number;
139
+ /** 分类ID */
140
+ categoryId?: number;
141
+ /** 开始时间,时间戳 */
142
+ startTime?: number;
143
+ /** 结束时间,时间戳 */
144
+ endTime?: number;
145
+ /** 子账号邮箱 */
146
+ subAccount?: string;
147
+ /** 自定义讲师ID,32个以内ASCII码可见字符 */
148
+ customTeacherId?: string;
149
+ /** 标签id数组 */
150
+ labelData?: number[];
151
+ /** 客户端模版背景图URL */
152
+ clientAloneTemplateBackgroundUrl?: string;
153
+ /** 视频混流背景图URL */
154
+ liveCdnBackgroundUrl?: string;
155
+ /** 手机H5观看页低延迟开关 Y开启 N关闭 */
156
+ h5LowLatencyFlvEnabled?: YNFlag;
157
+ }
158
+ /**
159
+ * Create Channel V4 Response
160
+ *
161
+ * Response from V4 channel creation API.
162
+ */
163
+ export interface CreateChannelV4Response {
164
+ /** 频道ID */
165
+ channelId: number;
166
+ /** POLYV用户ID */
167
+ userId: string;
168
+ /** 讲师登录密码,直播场景不是研讨会时不为null */
169
+ channelPasswd?: string;
170
+ /** 研讨会主持人密码 */
171
+ seminarHostPassword?: string;
172
+ /** 研讨会参会人密码 */
173
+ seminarAttendeePassword?: string;
174
+ }
175
+ /**
176
+ * Watch condition auth type
177
+ * 观看条件类型
178
+ */
179
+ export type WatchAuthType = 'public' | 'pay' | 'code' | 'phone' | 'info' | 'custom' | 'external' | 'direct' | 'wx';
180
+ /**
181
+ * Auth setting for watch condition
182
+ * 观看条件设置项
183
+ */
184
+ export interface AuthSetting {
185
+ /** 主要观看条件为1,次要观看条件为2 */
186
+ rank: 1 | 2;
187
+ /** 是否开启条件观看 Y/N */
188
+ enabled: YNFlag;
189
+ /** 观看条件类型 */
190
+ authType?: WatchAuthType;
191
+ /** 付费观看 - 欢迎语标题 */
192
+ payAuthTips?: string;
193
+ /** 付费观看 - 入口文本 */
194
+ payEntryText?: string;
195
+ /** 付费观看 - 价格(元) */
196
+ price?: number;
197
+ /** 付费观看 - 有效截止日期 yyyy-MM-dd HH:mm */
198
+ watchEndTime?: string;
199
+ /** 付费观看 - 有效时长(天) */
200
+ validTimePeriod?: number;
201
+ /** 验证码观看 - 验证码 */
202
+ authCode?: string;
203
+ /** 验证码观看 - 提示文案 */
204
+ qcodeTips?: string;
205
+ /** 验证码观看 - 公众号二维码地址 */
206
+ qcodeImg?: string;
207
+ /** 登记观看 - 信息字段 */
208
+ infoFields?: InfoField[];
209
+ /** 外部授权 - SecretKey */
210
+ externalKey?: string;
211
+ /** 外部授权 - 自定义URL */
212
+ externalUri?: string;
213
+ /** 外部授权 - 跳转地址 */
214
+ externalRedirectUri?: string;
215
+ /** 自定义授权 - SecretKey */
216
+ customKey?: string;
217
+ /** 自定义授权 - 自定义URL */
218
+ customUri?: string;
219
+ /** 独立授权 - SecretKey */
220
+ directKey?: string;
221
+ }
222
+ /**
223
+ * Update Watch Condition Request
224
+ * 修改频道观看条件请求
225
+ *
226
+ * @see docs/api/web/watch_condition/set_watch_condition.md
227
+ */
228
+ export interface UpdateWatchConditionRequest {
229
+ /** 频道号,不传为通用设置 */
230
+ channelId?: string;
231
+ /** 观看条件设置 */
232
+ authSettings: AuthSetting[];
233
+ }
234
+ /**
235
+ * Update Channel Request
236
+ *
237
+ * Parameters for updating an existing channel.
238
+ * All fields are optional for partial updates.
239
+ */
240
+ export interface UpdateChannelRequest {
241
+ /** Channel name (max 60 characters) */
242
+ name?: string;
243
+ /** Publisher name */
244
+ publisher?: string;
245
+ /** Channel description */
246
+ description?: string;
247
+ /** Category ID */
248
+ categoryId?: string;
249
+ /** Maximum online viewers */
250
+ maxViewer?: number;
251
+ /** Link mic limit (-1 to 16) */
252
+ linkMicLimit?: number;
253
+ /** Player color (hex) */
254
+ playerColor?: string;
255
+ /** Auto play (0/1) */
256
+ autoPlay?: number;
257
+ /** Logo image URL */
258
+ logoImage?: string;
259
+ /** Logo opacity (0-100) */
260
+ logoOpacity?: number;
261
+ /** Logo position */
262
+ logoPosition?: string;
263
+ }
264
+ /**
265
+ * Channel API Token Response
266
+ */
267
+ export interface ChannelApiTokenResponse {
268
+ channelToken: string;
269
+ expireTime: number;
270
+ }
271
+ /**
272
+ * Get Channel API Token Request
273
+ */
274
+ export interface GetChannelApiTokenRequest {
275
+ disposable?: boolean;
276
+ expireSeconds?: number;
277
+ }
278
+ /**
279
+ * Get Test Mode Token Request
280
+ */
281
+ export interface GetTestModeTokenRequest {
282
+ expireTime?: number;
283
+ }
284
+ /**
285
+ * Document Status
286
+ */
287
+ export type DocStatus = 'normal' | 'waitUpload' | 'failUpload' | 'waitConvert' | 'failConvert';
288
+ /**
289
+ * Document Convert Type
290
+ */
291
+ export type DocConvertType = 'common' | 'animate';
292
+ /**
293
+ * Document Type (new/old)
294
+ */
295
+ export type DocType = 'old' | 'new';
296
+ /**
297
+ * Get Doc List Request
298
+ */
299
+ export interface GetDocListRequest {
300
+ channelId?: string;
301
+ teacherId?: string;
302
+ status?: DocStatus;
303
+ page?: number;
304
+ limit?: number;
305
+ isShowUrl?: number;
306
+ }
307
+ /**
308
+ * Document Model
309
+ */
310
+ export interface DocModel {
311
+ fileId: string;
312
+ fileName: string;
313
+ fileUrl?: string;
314
+ fileType: string;
315
+ totalPage: number;
316
+ channelId?: string;
317
+ status: DocStatus;
318
+ createTime: number;
319
+ convertType: DocConvertType;
320
+ type: DocType;
321
+ previewImage?: string;
322
+ previewBigImage?: string;
323
+ autoId?: number;
324
+ teacherId?: string;
325
+ }
326
+ /**
327
+ * Doc List Response
328
+ */
329
+ export interface DocListResponse {
330
+ contents: DocModel[];
331
+ total: number;
332
+ page?: number;
333
+ /** Requested page size (max items per page) */
334
+ pageSize?: number;
335
+ /** Actual number of items returned on this page */
336
+ limit?: number;
337
+ }
338
+ /**
339
+ * Upload Doc Request
340
+ */
341
+ export interface UploadDocRequest {
342
+ file?: File | Blob | Buffer;
343
+ url?: string;
344
+ type?: DocType;
345
+ docName?: string;
346
+ callbackUrl?: string;
347
+ }
348
+ /**
349
+ * Upload Doc Response
350
+ */
351
+ export interface UploadDocResponse {
352
+ type: DocType;
353
+ fileId: string;
354
+ status: DocStatus;
355
+ }
356
+ /**
357
+ * Document Convert Status Item
358
+ */
359
+ export interface DocConvertStatusItem {
360
+ fileId: string;
361
+ convertStatus: string;
362
+ type: DocType;
363
+ imageCount: number;
364
+ images: string[];
365
+ smallImages: string[];
366
+ totalPage: number;
367
+ htmlUrl: string;
368
+ }
369
+ /**
370
+ * Pagination Parameters (V4 API style)
371
+ */
372
+ export interface PaginationParams {
373
+ pageNumber?: number;
374
+ pageSize?: number;
375
+ }
376
+ /**
377
+ * Multimedia Resource VID List Response
378
+ */
379
+ export interface MultimediaResourceVidListResponse {
380
+ contents: string[];
381
+ total: number;
382
+ pageNumber: number;
383
+ pageSize: number;
384
+ }
385
+ /**
386
+ * Multimedia Resource Detail Item
387
+ */
388
+ export interface MultimediaResourceDetailItem {
389
+ id: number;
390
+ channelId: string;
391
+ vid: string;
392
+ title: string;
393
+ status: string;
394
+ url: string;
395
+ }
396
+ /**
397
+ * Multimedia Resource Detail Response
398
+ */
399
+ export interface MultimediaResourceDetailResponse {
400
+ contents: MultimediaResourceDetailItem[];
401
+ total: number;
402
+ pageNumber: number;
403
+ pageSize: number;
404
+ }
405
+ /**
406
+ * User Multimedia Resource Item
407
+ */
408
+ export interface UserMultimediaResourceItem {
409
+ vid: string;
410
+ title: string;
411
+ status: number;
412
+ createTime: string;
413
+ }
414
+ /**
415
+ * User Multimedia Resource Response
416
+ * API returns array directly
417
+ */
418
+ export type UserMultimediaResourceResponse = UserMultimediaResourceItem[];
419
+ /**
420
+ * HLS Pull URL Response
421
+ */
422
+ export interface HlsPullUrlResponse {
423
+ url: string;
424
+ }
425
+ /**
426
+ * Push URL Response
427
+ */
428
+ export interface PushUrlResponse {
429
+ url: string;
430
+ }
431
+ /**
432
+ * Create Channel V3 Request
433
+ */
434
+ export interface CreateChannelV3Request {
435
+ /** Channel name - REQUIRED */
436
+ name: string;
437
+ /** Channel password - REQUIRED */
438
+ channelPasswd: string;
439
+ /** User ID - OPTIONAL */
440
+ userId?: string;
441
+ /** Scene type */
442
+ scene?: ChannelScene;
443
+ /** Category ID */
444
+ categoryId?: number;
445
+ /** Maximum viewers */
446
+ maxViewer?: number;
447
+ /** Publisher name */
448
+ publisher?: string;
449
+ /** Description */
450
+ description?: string;
451
+ /** Link mic limit */
452
+ linkMicLimit?: number;
453
+ /** Pure RTC enabled */
454
+ pureRtcEnabled?: YNFlag;
455
+ /** Auto play */
456
+ autoPlay?: number;
457
+ /** Player color */
458
+ playerColor?: string;
459
+ /** Cover image URL */
460
+ coverImg?: string;
461
+ /** Splash enabled */
462
+ splashEnabled?: YNFlag;
463
+ /** Splash image URL */
464
+ splashImg?: string;
465
+ /** Initial likes count */
466
+ likes?: number;
467
+ /** Initial page view count */
468
+ pageView?: number;
469
+ /** Close danmu */
470
+ closeDanmu?: YNFlag;
471
+ /** Show danmu info enabled */
472
+ showDanmuInfoEnabled?: YNFlag;
473
+ /** Sub-account email */
474
+ subAccount?: string;
475
+ /** Auth settings array */
476
+ authSettings?: AuthSetting[];
477
+ /** Playback settings */
478
+ playbackSetting?: PlaybackSetting;
479
+ /** Teacher settings */
480
+ teacher?: TeacherSetting;
481
+ /** Roles array */
482
+ roles?: RoleSetting[];
483
+ }
484
+ /**
485
+ * Info Field
486
+ */
487
+ export interface InfoField {
488
+ name?: string;
489
+ type?: string;
490
+ options?: string;
491
+ placeholder?: string;
492
+ sms?: YNFlag;
493
+ }
494
+ /**
495
+ * Playback Setting
496
+ */
497
+ export interface PlaybackSetting {
498
+ globalSettingEnabled?: YNFlag;
499
+ playbackEnabled?: YNFlag;
500
+ type?: string;
501
+ origin?: string;
502
+ videoId?: string;
503
+ }
504
+ /**
505
+ * Teacher Setting
506
+ */
507
+ export interface TeacherSetting {
508
+ nickname?: string;
509
+ actor?: string;
510
+ passwd?: string;
511
+ avatar?: string;
512
+ }
513
+ /**
514
+ * Role Setting
515
+ */
516
+ export interface RoleSetting {
517
+ nickname?: string;
518
+ actor?: string;
519
+ passwd?: string;
520
+ avatar?: string;
521
+ role?: 'Assistant' | 'Guest';
522
+ }
523
+ /**
524
+ * Create Channel V3 Response
525
+ */
526
+ export interface CreateChannelV3Response {
527
+ channelId: string;
528
+ userId: string;
529
+ name: string;
530
+ publisher?: string;
531
+ description?: string;
532
+ url: string;
533
+ stream: string;
534
+ scene: ChannelScene;
535
+ channelPasswd: string;
536
+ streamType: string;
537
+ pureRtcEnabled: YNFlag;
538
+ maxViewer?: number;
539
+ linkMicLimit?: number;
540
+ playerColor?: string;
541
+ autoPlay: boolean;
542
+ logoImage?: string;
543
+ logoOpacity?: number;
544
+ logoPosition?: string;
545
+ currentTimeMillis: number;
546
+ }
547
+ /**
548
+ * Copy Channel Options
549
+ */
550
+ export interface CopyChannelOptions {
551
+ name?: string;
552
+ categoryId?: number;
553
+ startTime?: number;
554
+ subAccount?: string;
555
+ }
556
+ /**
557
+ * Update Callback Setting Request
558
+ */
559
+ export interface UpdateCallbackSettingRequest {
560
+ channelId: string;
561
+ recordCallbackUrl?: string;
562
+ recordCallbackVideoType?: string;
563
+ playbackCallbackUrl?: string;
564
+ streamCallbackUrl?: string;
565
+ pptRecordCallbackUrl?: string;
566
+ liveScanCallbackUrl?: string;
567
+ playbackCacheCallbackUrl?: string;
568
+ subtitleCallbackUrl?: string;
569
+ liveViolationCutoffCallbackUrl?: string;
570
+ }
571
+ /**
572
+ * Callback Setting Response
573
+ */
574
+ export interface CallbackSettingResponse {
575
+ recordCallbackUrl?: string;
576
+ playbackCallbackUrl?: string;
577
+ streamCallbackUrl?: string;
578
+ liveScanCallbackUrl?: string;
579
+ recordCallbackVideoType?: string;
580
+ pptRecordCallbackUrl?: string;
581
+ playbackCacheCallbackUrl?: string;
582
+ subtitleCallbackUrl?: string;
583
+ globalSettingEnabled?: YNFlag;
584
+ liveViolationCutoffCallbackUrl?: string;
585
+ }
586
+ /**
587
+ * Add Account Request
588
+ */
589
+ export interface AddAccountRequest {
590
+ role?: 'Assistant' | 'Guest';
591
+ nickname?: string;
592
+ password?: string;
593
+ actor?: string;
594
+ avatar?: string;
595
+ }
596
+ /**
597
+ * Account Model
598
+ */
599
+ export interface AccountModel {
600
+ account: string;
601
+ userId: string;
602
+ channelId: string;
603
+ passwd: string;
604
+ nickname: string;
605
+ stream: string;
606
+ status: string;
607
+ createdTime: number;
608
+ lastModified: number;
609
+ sort: number;
610
+ avatar: string;
611
+ actor: string;
612
+ pageTurnEnabled: YNFlag;
613
+ notifyEnabled: YNFlag;
614
+ checkinEnabled: YNFlag;
615
+ voteEnabled: YNFlag;
616
+ lotteryEnabled: YNFlag;
617
+ role: 'Assistant' | 'Guest';
618
+ chatListEnabled: YNFlag;
619
+ chatAuditEnabled: YNFlag;
620
+ monitorEnabled: YNFlag;
621
+ roundTourEnabled: YNFlag;
622
+ watchLockEnabled: YNFlag;
623
+ loginUrl?: string;
624
+ pushUrl?: string;
625
+ chatInteractionEnabled?: YNFlag;
626
+ }
627
+ /**
628
+ * Update Account Request
629
+ */
630
+ export interface UpdateAccountRequest {
631
+ nickname?: string;
632
+ password?: string;
633
+ actor?: string;
634
+ avatar?: string;
635
+ }
636
+ /**
637
+ * Batch Create Accounts Request Item
638
+ */
639
+ export interface BatchCreateAccountItem {
640
+ role: 'Assistant' | 'Guest';
641
+ nickname: string;
642
+ passwd: string;
643
+ actor?: string;
644
+ avatar?: string;
645
+ }
646
+ /**
647
+ * Playback List Type
648
+ */
649
+ export type PlaybackListType = 'playback' | 'vod';
650
+ /**
651
+ * Playback Video Item Subtitle
652
+ */
653
+ export interface PlaybackVideoSubtitle {
654
+ id: number;
655
+ name: string;
656
+ srtUrl: string;
657
+ language: string;
658
+ status: string;
659
+ }
660
+ /**
661
+ * Playback Video Item
662
+ */
663
+ export interface PlaybackVideoItem {
664
+ videoId: string;
665
+ channelId: string;
666
+ title: string;
667
+ startTime?: string;
668
+ endTime?: string;
669
+ fileSize?: number;
670
+ duration?: number;
671
+ status?: string;
672
+ url?: string;
673
+ videoPoolId?: string;
674
+ userId?: string;
675
+ firstImage?: string;
676
+ myBr?: string;
677
+ qid?: string;
678
+ seed?: number;
679
+ ordertime?: number;
680
+ createdTime?: number;
681
+ lastModified?: number;
682
+ rank?: number;
683
+ asDefault?: YNFlag;
684
+ channelSessionId?: string;
685
+ fileUrl?: string;
686
+ fileId?: string;
687
+ liveType?: ChannelScene;
688
+ width?: number;
689
+ height?: number;
690
+ origin?: 'manual' | 'auto' | 'merge' | 'clip' | 'smart-clip';
691
+ callbackUrl?: string;
692
+ errorCount?: number;
693
+ lang?: string;
694
+ videoIdEN?: string;
695
+ enFileUrl?: string;
696
+ mergeInfo?: string;
697
+ watchUrl?: string;
698
+ originSessionId?: string;
699
+ subtitleList?: PlaybackVideoSubtitle[];
700
+ }
701
+ /**
702
+ * Playback List Response
703
+ */
704
+ export interface PlaybackListResponse {
705
+ pageSize: number;
706
+ pageNumber: number;
707
+ total: number;
708
+ contents: PlaybackVideoItem[];
709
+ totalItems?: number;
710
+ startRow?: number;
711
+ firstPage?: boolean;
712
+ lastPage?: boolean;
713
+ prePageNumber?: number;
714
+ nextPageNumber?: number;
715
+ limit?: number;
716
+ totalPages?: number;
717
+ endRow?: number;
718
+ offset?: number;
719
+ }
720
+ /**
721
+ * Playback List Request
722
+ */
723
+ export interface PlaybackListRequest {
724
+ page?: number;
725
+ pageSize?: number;
726
+ listType?: PlaybackListType;
727
+ sessionIds?: string;
728
+ title?: string;
729
+ }
730
+ /**
731
+ * Channel Session
732
+ */
733
+ export interface ChannelSession {
734
+ sessionId: string;
735
+ startTime: string;
736
+ endTime: string;
737
+ duration: number;
738
+ }
739
+ /**
740
+ * Record File Item
741
+ */
742
+ export interface RecordFileItem {
743
+ fileId: string;
744
+ channelId: string;
745
+ sessionId: string;
746
+ startTime: string;
747
+ endTime: string;
748
+ fileSize: number;
749
+ duration: number;
750
+ url: string;
751
+ }
752
+ /**
753
+ * Record File Response
754
+ */
755
+ export interface RecordFileResponse {
756
+ contents: RecordFileItem[];
757
+ total: number;
758
+ pageSize: number;
759
+ pageNumber: number;
760
+ }
761
+ /**
762
+ * Record File Request
763
+ */
764
+ export interface RecordFileRequest {
765
+ page?: number;
766
+ pageSize?: number;
767
+ }
768
+ /**
769
+ * Record Info
770
+ */
771
+ export interface RecordInfo {
772
+ fileId: string;
773
+ channelId: string;
774
+ sessionId: string;
775
+ startTime: string;
776
+ endTime: string;
777
+ fileSize: number;
778
+ duration: number;
779
+ url: string;
780
+ }
781
+ /**
782
+ * Playback Enabled Response
783
+ */
784
+ export interface PlaybackEnabledResponse {
785
+ enabled: boolean;
786
+ }
787
+ /**
788
+ * Playback Setting Response
789
+ */
790
+ export interface PlaybackSettingResponse {
791
+ sortType: string;
792
+ autoPublish: boolean;
793
+ }
794
+ /**
795
+ * Set Record Setting Request
796
+ */
797
+ export interface SetRecordSettingRequest {
798
+ enabled?: boolean;
799
+ type?: string;
800
+ [key: string]: unknown;
801
+ }
802
+ /**
803
+ * Clip Record File Request
804
+ */
805
+ export interface ClipRecordFileRequest {
806
+ fileId: string;
807
+ startTime: number;
808
+ endTime: number;
809
+ fileName?: string;
810
+ callbackUrl?: string;
811
+ }
812
+ /**
813
+ * Clip Record File Response
814
+ */
815
+ export interface ClipRecordFileResponse {
816
+ fileId: string;
817
+ }
818
+ /**
819
+ * Record Convert Request
820
+ */
821
+ export interface RecordConvertRequest {
822
+ fileId: string;
823
+ fileName?: string;
824
+ callbackUrl?: string;
825
+ }
826
+ /**
827
+ * Record Convert Response
828
+ */
829
+ export interface RecordConvertResponse {
830
+ fileId: string;
831
+ }
832
+ /**
833
+ * Record Merge Request (for array input)
834
+ */
835
+ export interface RecordMergeArrayRequest {
836
+ fileIds: string[];
837
+ fileName?: string;
838
+ callbackUrl?: string;
839
+ }
840
+ /**
841
+ * Record Merge Request (comma-separated fileIds)
842
+ */
843
+ export interface RecordMergeRequest {
844
+ fileIds: string;
845
+ fileName?: string;
846
+ callbackUrl?: string;
847
+ deleteFileIds?: string;
848
+ startTime?: string;
849
+ endTime?: string;
850
+ ignoreDuration?: number;
851
+ }
852
+ /**
853
+ * Record Merge Response
854
+ */
855
+ export interface RecordMergeResponse {
856
+ fileId: string;
857
+ url?: string;
858
+ }
859
+ /**
860
+ * Record Add Breakpoint Request
861
+ */
862
+ export interface RecordAddBreakpointRequest {
863
+ fileId: string;
864
+ time: number;
865
+ }
866
+ /**
867
+ * Record Merge MP4 Request (comma-separated fileIds)
868
+ */
869
+ export interface RecordMergeMp4Request {
870
+ fileIds: string;
871
+ fileName?: string;
872
+ callbackUrl?: string;
873
+ deleteFileIds?: string;
874
+ startTime?: string;
875
+ endTime?: string;
876
+ }
877
+ /**
878
+ * Add VOD Playback Request
879
+ */
880
+ export interface AddVodPlaybackRequest {
881
+ vid: string;
882
+ title?: string;
883
+ cataid?: string;
884
+ }
885
+ /**
886
+ * Delete Playback Request
887
+ */
888
+ export interface DeletePlaybackRequest {
889
+ videoId: string;
890
+ listType?: PlaybackListType;
891
+ }
892
+ /**
893
+ * Channel Session Item
894
+ */
895
+ export interface ChannelSessionItem {
896
+ sessionId: string;
897
+ channelId: string;
898
+ userId: string;
899
+ startTime: number;
900
+ endTime: number;
901
+ }
902
+ /**
903
+ * Channel Sessions Response
904
+ */
905
+ export interface ChannelSessionsResponse {
906
+ pageSize: number;
907
+ pageNumber: number;
908
+ totalItems: number;
909
+ contents: ChannelSessionItem[];
910
+ startRow: number;
911
+ firstPage: boolean;
912
+ lastPage: boolean;
913
+ prePageNumber: number;
914
+ nextPageNumber: number;
915
+ limit: number;
916
+ totalPages: number;
917
+ endRow: number;
918
+ offset: number;
919
+ }
920
+ /**
921
+ * Channel Sessions Request
922
+ */
923
+ export interface ChannelSessionsRequest {
924
+ startDate?: string;
925
+ endDate?: string;
926
+ page?: number;
927
+ pageSize?: number;
928
+ }
929
+ /**
930
+ * Record File
931
+ */
932
+ export interface RecordFile {
933
+ fileId: string;
934
+ userId: string;
935
+ channelId: string;
936
+ startTime: string;
937
+ endTime: string;
938
+ filename: string;
939
+ filesize: number;
940
+ createdTime: number;
941
+ width: number;
942
+ height: number;
943
+ duration: number;
944
+ bitrate: number;
945
+ mp4: string;
946
+ m3u8: string;
947
+ channelSessionId: string;
948
+ liveType: ChannelScene;
949
+ daysLeft: number;
950
+ originSessionId?: string;
951
+ }
952
+ /**
953
+ * Record Info Item
954
+ */
955
+ export interface RecordInfoItem {
956
+ fileId: string;
957
+ userId: string;
958
+ channelId: string;
959
+ sessionId: string;
960
+ startTime: string;
961
+ endTime: string;
962
+ filename: string;
963
+ filesize: number;
964
+ status: string;
965
+ createdTime: number;
966
+ duration: number;
967
+ bitrate: number;
968
+ mp4Result: number;
969
+ m3u8Result: number;
970
+ mp4Url: string;
971
+ m3u8Url: string;
972
+ liveType: ChannelScene;
973
+ bitNum: number;
974
+ width: number;
975
+ height: number;
976
+ dv: string;
977
+ }
978
+ /**
979
+ * Record Info Response
980
+ */
981
+ export interface RecordInfoResponse {
982
+ pageSize: number;
983
+ pageNumber: number;
984
+ totalItems: number;
985
+ contents: RecordInfoItem[];
986
+ startRow: number;
987
+ firstPage: boolean;
988
+ lastPage: boolean;
989
+ prePageNumber: number;
990
+ nextPageNumber: number;
991
+ limit: number;
992
+ totalPages: number;
993
+ endRow: number;
994
+ offset: number;
995
+ }
996
+ /**
997
+ * Record Info Request
998
+ */
999
+ export interface RecordInfoRequest {
1000
+ sessionId?: string;
1001
+ startTime?: string;
1002
+ endTime?: string;
1003
+ page?: number;
1004
+ pageSize?: number;
1005
+ }
1006
+ /**
1007
+ * Set Playback Sort Request
1008
+ */
1009
+ export interface SetPlaybackSortRequest {
1010
+ videoIds: string;
1011
+ }
1012
+ /**
1013
+ * Set Playback Single Sort Request
1014
+ */
1015
+ export interface SetPlaybackSingleSortRequest {
1016
+ videoId: string;
1017
+ rank: number;
1018
+ }
1019
+ /**
1020
+ * Update Playback Title Request
1021
+ */
1022
+ export interface UpdatePlaybackTitleRequest {
1023
+ videoId: string;
1024
+ title: string;
1025
+ }
1026
+ /**
1027
+ * Record Merge MP4 Start Request
1028
+ */
1029
+ export interface RecordMergeMp4StartRequest {
1030
+ fileIds: string;
1031
+ fileName?: string;
1032
+ callbackUrl?: string;
1033
+ deleteFileIds?: string;
1034
+ startTime?: string;
1035
+ endTime?: string;
1036
+ outputClarity?: string;
1037
+ }
1038
+ /**
1039
+ * Record Add Breakpoint Request (old with sessionId - keep for backward compatibility)
1040
+ */
1041
+ export interface RecordAddBreakpointRequestOld {
1042
+ sessionId: string;
1043
+ time: number;
1044
+ }
1045
+ /**
1046
+ * Player Logo Settings
1047
+ */
1048
+ export interface PlayerLogoSettings {
1049
+ logoImage?: string;
1050
+ logoOpacity?: number;
1051
+ logoPosition?: string;
1052
+ logoHref?: string;
1053
+ }
1054
+ /**
1055
+ * Player Head Settings
1056
+ */
1057
+ export interface PlayerHeadSettings {
1058
+ headImage?: string;
1059
+ headImageHref?: string;
1060
+ }
1061
+ /**
1062
+ * Player Stop Settings
1063
+ */
1064
+ export interface PlayerStopSettings {
1065
+ stopImage?: string;
1066
+ stopImageHref?: string;
1067
+ }
1068
+ /**
1069
+ * Product Click Stats Request
1070
+ */
1071
+ export interface GetProductClickStatsRequest {
1072
+ /** Channel ID - REQUIRED */
1073
+ channelId: string;
1074
+ /** Session ID */
1075
+ sessionId?: string;
1076
+ /** Start time (13-digit ms timestamp) */
1077
+ startTime?: number;
1078
+ /** End time (13-digit ms timestamp) */
1079
+ endTime?: number;
1080
+ /** Page number */
1081
+ pageNumber?: number;
1082
+ /** Page size (default 10, max 1000) */
1083
+ pageSize?: number;
1084
+ }
1085
+ /**
1086
+ * Product Click Stats Item
1087
+ */
1088
+ export interface ProductClickStatsItem {
1089
+ channelId: string;
1090
+ sessionId: string;
1091
+ productId: string;
1092
+ name: string;
1093
+ productType: 'normal' | 'finance';
1094
+ productClickNum: number;
1095
+ linkClickNum: number;
1096
+ pcClickNum: number;
1097
+ mobileClickNum: number;
1098
+ wxMiniProgramClickNum: number;
1099
+ iosClickNum: number;
1100
+ androidClickNum: number;
1101
+ }
1102
+ /**
1103
+ * Product Click Stats Response
1104
+ */
1105
+ export interface GetProductClickStatsResponse {
1106
+ pageNumber: number;
1107
+ pageSize: number;
1108
+ totalPages: number;
1109
+ totalItems: number;
1110
+ contents: ProductClickStatsItem[];
1111
+ }
1112
+ /**
1113
+ * Product List Stats Request
1114
+ */
1115
+ export interface GetProductListStatsRequest {
1116
+ /** Channel ID - REQUIRED */
1117
+ channelId: string;
1118
+ /** Session ID */
1119
+ sessionId?: string;
1120
+ /** Start time (13-digit ms timestamp) */
1121
+ startTime?: number;
1122
+ /** End time (13-digit ms timestamp) */
1123
+ endTime?: number;
1124
+ /** Page number */
1125
+ pageNumber?: number;
1126
+ /** Page size (default 10, max 1000) */
1127
+ pageSize?: number;
1128
+ }
1129
+ /**
1130
+ * Product List Stats Item
1131
+ */
1132
+ export interface ProductListStatsItem {
1133
+ channelId: string;
1134
+ sessionId: string;
1135
+ productListClickNum: number;
1136
+ }
1137
+ /**
1138
+ * Product List Stats Response
1139
+ */
1140
+ export interface GetProductListStatsResponse {
1141
+ pageNumber: number;
1142
+ pageSize: number;
1143
+ totalPages: number;
1144
+ totalItems: number;
1145
+ contents: ProductListStatsItem[];
1146
+ }
1147
+ /**
1148
+ * Redpack Receive Item
1149
+ */
1150
+ export interface RedpackReceiveItem {
1151
+ redPackId: string;
1152
+ userId: string;
1153
+ nickName: string;
1154
+ avatar: string;
1155
+ amount: number;
1156
+ createdTime: number;
1157
+ }
1158
+ /**
1159
+ * Redpack Stats Item
1160
+ */
1161
+ export interface RedpackStatsItem {
1162
+ redPackId: string;
1163
+ userId: string;
1164
+ channelId: string;
1165
+ nickName: string;
1166
+ amount: number;
1167
+ balance: number;
1168
+ allotType: string;
1169
+ createdTime: number;
1170
+ channelSessionId: string;
1171
+ status: string;
1172
+ redPackType: string;
1173
+ redPackReceiveList?: RedpackReceiveItem[];
1174
+ }
1175
+ /**
1176
+ * Redpack Stats Request
1177
+ */
1178
+ export interface GetRedpackStatsRequest {
1179
+ /** Channel ID - REQUIRED */
1180
+ channelId: string;
1181
+ /** Session ID */
1182
+ sessionId?: string;
1183
+ /** Start time (13-digit ms timestamp) */
1184
+ startTime?: number;
1185
+ /** End time (13-digit ms timestamp) */
1186
+ endTime?: number;
1187
+ /** Page number */
1188
+ pageNumber?: number;
1189
+ /** Page size (default 10, max 1000) */
1190
+ pageSize?: number;
1191
+ }
1192
+ /**
1193
+ * Redpack Stats Response
1194
+ */
1195
+ export interface GetRedpackStatsResponse {
1196
+ pageNumber: number;
1197
+ pageSize: number;
1198
+ totalPages: number;
1199
+ totalItems: number;
1200
+ contents: RedpackStatsItem[];
1201
+ }
1202
+ /**
1203
+ * Channel Statistic Request
1204
+ */
1205
+ export interface GetChannelStatisticRequest {
1206
+ /** Channel ID - REQUIRED */
1207
+ channelId: string;
1208
+ /** Start date (yyyy-MM-dd) - REQUIRED */
1209
+ startDate: string;
1210
+ /** End date (yyyy-MM-dd) - REQUIRED */
1211
+ endDate: string;
1212
+ }
1213
+ /**
1214
+ * Channel Statistic Data
1215
+ */
1216
+ export interface ChannelStatisticData {
1217
+ uniqueVisitor?: number;
1218
+ plays: number;
1219
+ playDuration: number;
1220
+ ips: number;
1221
+ viewers?: number;
1222
+ averagePlayDuration: number;
1223
+ averageTime: number;
1224
+ statisticsByViewer?: string;
1225
+ averagePlayDurationByViewer?: number;
1226
+ averageTimeByViewer?: number;
1227
+ }
1228
+ /**
1229
+ * Summary Item (V2)
1230
+ */
1231
+ export interface ChannelSummaryItem {
1232
+ currentDay: string;
1233
+ channelId: string;
1234
+ userId: string;
1235
+ pcPlayDuration: number;
1236
+ pcVideoView: number;
1237
+ pcUniqueViewer?: number;
1238
+ mobilePlayDuration: number;
1239
+ mobileVideoView: number;
1240
+ mobileUniqueViewer: number;
1241
+ createdTime: number;
1242
+ lastModified: number;
1243
+ creatorId?: string;
1244
+ creatorName?: string;
1245
+ }
1246
+ /**
1247
+ * Get Summary Request
1248
+ */
1249
+ export interface GetSummaryRequest {
1250
+ /** Start day (yyyy-MM-dd) - REQUIRED */
1251
+ startDay: string;
1252
+ /** End day (yyyy-MM-dd) - REQUIRED */
1253
+ endDay: string;
1254
+ }
1255
+ /**
1256
+ * Daily Summary Item
1257
+ */
1258
+ export interface DailySummaryItem {
1259
+ currentDay: string;
1260
+ channelId: string;
1261
+ userId: string;
1262
+ pcPlayDuration: number;
1263
+ pcVideoView: number;
1264
+ pcUniqueViewer: number;
1265
+ mobilePlayDuration: number;
1266
+ mobileVideoView: number;
1267
+ mobileUniqueViewer: number;
1268
+ createdTime: number;
1269
+ lastModified: number;
1270
+ creatorId?: string;
1271
+ creatorName?: string;
1272
+ }
1273
+ /**
1274
+ * Get Daily Summary Request
1275
+ */
1276
+ export interface GetDailySummaryRequest {
1277
+ /** Channel ID - REQUIRED */
1278
+ channelId: string;
1279
+ /** Start day (yyyy-MM-dd) - REQUIRED */
1280
+ startDay: string;
1281
+ /** End day (yyyy-MM-dd) - REQUIRED */
1282
+ endDay: string;
1283
+ }
1284
+ /**
1285
+ * Channel Play Summary Item
1286
+ */
1287
+ export interface ChannelPlaySummaryItem {
1288
+ userId?: string;
1289
+ channelId: string;
1290
+ name: string;
1291
+ categoryName?: string;
1292
+ pcPlayDuration: number;
1293
+ pcVideoView: number;
1294
+ pcUniqueViewer: number;
1295
+ mobilePlayDuration: number;
1296
+ mobileVideoView: number;
1297
+ mobileUniqueViewer: number;
1298
+ livePcPlayDuration: number;
1299
+ playbackPcPlayDuration: number;
1300
+ unknownPcPlayDuration: number;
1301
+ liveMobilePlayDuration: number;
1302
+ playbackMobilePlayDuration: number;
1303
+ unknownMobilePlayDuration: number;
1304
+ creatorName?: string;
1305
+ }
1306
+ /**
1307
+ * Get Channel Play Summary Request
1308
+ */
1309
+ export interface GetChannelPlaySummaryRequest {
1310
+ /** Start date (yyyy-MM-dd) - REQUIRED */
1311
+ startDate: string;
1312
+ /** End date (yyyy-MM-dd) - REQUIRED */
1313
+ endDate: string;
1314
+ /** Channel IDs (comma-separated) */
1315
+ channelIds?: string;
1316
+ }
1317
+ /**
1318
+ * Concurrency Data Item
1319
+ */
1320
+ export interface ConcurrencyDataItem {
1321
+ day: string;
1322
+ minute: string;
1323
+ viewers: number;
1324
+ }
1325
+ /**
1326
+ * Get Concurrency Request
1327
+ */
1328
+ export interface GetConcurrencyRequest {
1329
+ /** Channel ID - REQUIRED */
1330
+ channelId: string;
1331
+ /** Start date (yyyy-MM-dd) - REQUIRED */
1332
+ startDate: string;
1333
+ /** End date (yyyy-MM-dd) - REQUIRED */
1334
+ endDate: string;
1335
+ }
1336
+ /**
1337
+ * Get Max History Concurrent Request
1338
+ */
1339
+ export interface GetMaxHistoryConcurrentRequest {
1340
+ /** Channel ID - REQUIRED */
1341
+ channelId: string;
1342
+ /** Start time (13-digit ms timestamp) - REQUIRED */
1343
+ startTime: number;
1344
+ /** End time (13-digit ms timestamp) - REQUIRED */
1345
+ endTime: number;
1346
+ }
1347
+ /**
1348
+ * Realtime Viewer Data Item
1349
+ */
1350
+ export interface RealtimeViewerDataItem {
1351
+ channelId: string;
1352
+ time: string;
1353
+ count: number;
1354
+ }
1355
+ /**
1356
+ * Get Realtime Viewers Request
1357
+ */
1358
+ export interface GetRealtimeViewersRequest {
1359
+ /** Channel IDs (comma-separated) - REQUIRED */
1360
+ channelIds: string;
1361
+ }
1362
+ /**
1363
+ * Realtime Viewer V1 Item
1364
+ */
1365
+ export interface RealtimeViewerV1Item {
1366
+ time: string;
1367
+ count: string;
1368
+ }
1369
+ /**
1370
+ * Session Stats Item
1371
+ */
1372
+ export interface SessionStatsItem {
1373
+ channelId: string;
1374
+ sessionId: string;
1375
+ name: string;
1376
+ startTime: number;
1377
+ endTime?: number;
1378
+ duration: number;
1379
+ liveUV: number;
1380
+ livePV: number;
1381
+ playbackUV: number;
1382
+ playbackPV: number;
1383
+ totalPlayDuration?: number;
1384
+ totalPlaybackDuration?: number;
1385
+ }
1386
+ /**
1387
+ * Session Stats Response
1388
+ */
1389
+ export interface SessionStatsResponse {
1390
+ list: SessionStatsItem[];
1391
+ }
1392
+ /**
1393
+ * Get Session Stats Request
1394
+ */
1395
+ export interface GetSessionStatsRequest {
1396
+ /** Channel ID - REQUIRED */
1397
+ channelId: string;
1398
+ /** Session IDs (comma-separated) */
1399
+ sessionIds?: string;
1400
+ /** Start time (13-digit ms timestamp) */
1401
+ startTime?: number;
1402
+ /** End time (13-digit ms timestamp) */
1403
+ endTime?: number;
1404
+ }
1405
+ /**
1406
+ * Viewlog Page Item
1407
+ */
1408
+ export interface ViewlogPageItem {
1409
+ playId: string;
1410
+ userId: string;
1411
+ channelId: string;
1412
+ playDuration: number;
1413
+ stayDuration: number;
1414
+ sessionId: string;
1415
+ param1: string;
1416
+ param2: string;
1417
+ param3: string;
1418
+ param4: string;
1419
+ param5: string;
1420
+ ipAddress: string;
1421
+ country: string;
1422
+ province: string;
1423
+ city: string;
1424
+ isp: string;
1425
+ referer: string;
1426
+ userAgent: string;
1427
+ operatingSystem: string;
1428
+ browser: string;
1429
+ isMobile: string;
1430
+ currentDay: string;
1431
+ createdTime?: number;
1432
+ lastModified?: number;
1433
+ ptype?: number;
1434
+ firstActiveTime?: number;
1435
+ lastActiveTime?: number;
1436
+ }
1437
+ /**
1438
+ * Get Viewlog Page Request
1439
+ */
1440
+ export interface GetViewlogPageRequest {
1441
+ /** Current day (yyyy-MM-dd) */
1442
+ currentDay?: string;
1443
+ /** Page number (default 1) */
1444
+ page?: number;
1445
+ /** Page size (default 1000) */
1446
+ pageSize?: number;
1447
+ /** Start time (13-digit ms timestamp) */
1448
+ startTime?: number;
1449
+ /** End time (13-digit ms timestamp) */
1450
+ endTime?: number;
1451
+ /** Viewer user ID */
1452
+ param1?: string;
1453
+ /** Viewer nickname */
1454
+ param2?: string;
1455
+ /** View log type: 'vod' or 'live' */
1456
+ param3?: string;
1457
+ /** View log type: 'vod' or 'live' */
1458
+ viewLogType?: string;
1459
+ /** Session IDs (comma-separated) */
1460
+ sessionIds?: string;
1461
+ }
1462
+ /**
1463
+ * Viewlog Page Response
1464
+ */
1465
+ export interface GetViewlogPageResponse {
1466
+ pageSize: number;
1467
+ pageNumber: number;
1468
+ totalItems: number;
1469
+ contents: ViewlogPageItem[];
1470
+ startRow: number;
1471
+ firstPage: boolean;
1472
+ lastPage: boolean;
1473
+ prePageNumber: number;
1474
+ nextPageNumber: number;
1475
+ limit: number;
1476
+ totalPages: number;
1477
+ endRow: number;
1478
+ offset: number;
1479
+ }
1480
+ /**
1481
+ * Get Viewlog V1 Request
1482
+ */
1483
+ export interface GetViewlogV1Request {
1484
+ /** Current day (yyyy-MM-dd) - REQUIRED */
1485
+ currentDay: string;
1486
+ /** User ID - REQUIRED */
1487
+ userId: string;
1488
+ /** Viewer user ID */
1489
+ param1?: string;
1490
+ }
1491
+ /**
1492
+ * User Viewlog Item
1493
+ */
1494
+ export interface UserViewlogItem {
1495
+ playId: string;
1496
+ userId: string;
1497
+ channelId: string;
1498
+ playDuration: number;
1499
+ stayDuration: number;
1500
+ sessionId: string;
1501
+ param1: string;
1502
+ param2: string;
1503
+ param3: string;
1504
+ param4: string;
1505
+ param5: string;
1506
+ ipAddress: string;
1507
+ country: string;
1508
+ province: string;
1509
+ city: string;
1510
+ isp: string;
1511
+ referer: string;
1512
+ userAgent: string;
1513
+ operatingSystem: string;
1514
+ browser: string;
1515
+ isMobile: string;
1516
+ currentDay: string;
1517
+ createdTime: number;
1518
+ lastModified: number;
1519
+ ptype?: number;
1520
+ firstActiveTime?: number;
1521
+ lastActiveTime?: number;
1522
+ }
1523
+ /**
1524
+ * Get User Viewlog Request
1525
+ */
1526
+ export interface GetUserViewlogRequest {
1527
+ /** Start date (yyyy-MM-dd HH:mm:ss) - REQUIRED */
1528
+ startDate: string;
1529
+ /** End date (yyyy-MM-dd HH:mm:ss) - REQUIRED */
1530
+ endDate: string;
1531
+ /** Channel ID */
1532
+ channelId?: string;
1533
+ /** Watch type: 'live' or 'vod' */
1534
+ watchType?: string;
1535
+ /** Page number */
1536
+ page?: number;
1537
+ /** Page size */
1538
+ pageSize?: number;
1539
+ }
1540
+ /**
1541
+ * User Viewlog Response
1542
+ */
1543
+ export interface GetUserViewlogResponse {
1544
+ pageSize: number;
1545
+ pageNumber: number;
1546
+ totalItems: number;
1547
+ contents: UserViewlogItem[];
1548
+ startRow: number;
1549
+ firstPage: boolean;
1550
+ lastPage: boolean;
1551
+ prePageNumber: number;
1552
+ nextPageNumber: number;
1553
+ limit: number;
1554
+ totalPages: number;
1555
+ endRow: number;
1556
+ offset: number;
1557
+ }
1558
+ /**
1559
+ * Mic Detail Item
1560
+ */
1561
+ export interface MicDetailItem {
1562
+ userId: string;
1563
+ channelId: string;
1564
+ currentDay: string;
1565
+ history: number;
1566
+ }
1567
+ /**
1568
+ * Get Mic Detail List Request
1569
+ */
1570
+ export interface GetMicDetailListRequest {
1571
+ /** Page number (default 1) */
1572
+ page?: number;
1573
+ /** Page size (default 10, max 1000) */
1574
+ size?: number;
1575
+ /** Channel IDs (comma-separated) */
1576
+ channelIds?: string;
1577
+ /** Start day (yyyy-MM-dd) */
1578
+ startDay?: string;
1579
+ /** End day (yyyy-MM-dd) */
1580
+ endDay?: string;
1581
+ }
1582
+ /**
1583
+ * Mic Detail List Response
1584
+ */
1585
+ export interface GetMicDetailListResponse {
1586
+ pageSize: number;
1587
+ pageNumber: number;
1588
+ totalItems: number;
1589
+ contents: MicDetailItem[];
1590
+ startRow: number;
1591
+ firstPage: boolean;
1592
+ lastPage: boolean;
1593
+ prePageNumber: number;
1594
+ nextPageNumber: number;
1595
+ limit: number;
1596
+ totalPages: number;
1597
+ endRow: number;
1598
+ offset: number;
1599
+ }
1600
+ /**
1601
+ * Link Mic Detail Item
1602
+ */
1603
+ export interface LinkMicDetailItem {
1604
+ channelId: string;
1605
+ sessionId: string;
1606
+ viewerId: string;
1607
+ identity: 'guest' | 'student';
1608
+ nickname: string;
1609
+ joinTime: number;
1610
+ leaveTime: number;
1611
+ duration?: number;
1612
+ }
1613
+ /**
1614
+ * Get Link Mic Detail List Request
1615
+ */
1616
+ export interface GetLinkMicDetailListRequest {
1617
+ /** Channel ID - REQUIRED */
1618
+ channelId: string;
1619
+ /** Start date (yyyy-MM-dd) - REQUIRED */
1620
+ startDate: string;
1621
+ /** End date (yyyy-MM-dd) - REQUIRED */
1622
+ endDate: string;
1623
+ /** Page number (default 1) */
1624
+ page?: number;
1625
+ /** Page size (default 500, max 5000) */
1626
+ pageSize?: number;
1627
+ }
1628
+ /**
1629
+ * Link Mic Detail List Response
1630
+ */
1631
+ export interface GetLinkMicDetailListResponse {
1632
+ page: number;
1633
+ pageSize: number;
1634
+ contents: LinkMicDetailItem[];
1635
+ }
1636
+ /**
1637
+ * Realviewers Data Item (AC13)
1638
+ */
1639
+ export interface RealviewersDataItem {
1640
+ channelId: string;
1641
+ userId: string;
1642
+ realViewers: number;
1643
+ currentDay: string;
1644
+ }
1645
+ /**
1646
+ * Get Realviewers Request (AC13)
1647
+ */
1648
+ export interface GetRealviewersRequest {
1649
+ /** Current day (yyyy-MM-dd) - REQUIRED */
1650
+ currentDay: string;
1651
+ }
1652
+ /**
1653
+ * Viewlog V2 Item (AC15)
1654
+ */
1655
+ export interface ViewlogV2Item {
1656
+ playId: string;
1657
+ userId: string;
1658
+ channelId: string;
1659
+ playDuration: number;
1660
+ stayDuration: number;
1661
+ sessionId: string;
1662
+ param1: string;
1663
+ param2: string;
1664
+ param3: string;
1665
+ param4: string;
1666
+ param5: string;
1667
+ ipAddress: string;
1668
+ country: string;
1669
+ province: string;
1670
+ city: string;
1671
+ isp: string;
1672
+ referer: string;
1673
+ userAgent: string;
1674
+ operatingSystem: string;
1675
+ browser: string;
1676
+ isMobile: string;
1677
+ currentDay: string;
1678
+ createdTime?: number;
1679
+ lastModified?: number;
1680
+ ptype?: number;
1681
+ firstActiveTime?: number;
1682
+ lastActiveTime?: number;
1683
+ }
1684
+ /**
1685
+ * Get Viewlog V2 Request (AC15)
1686
+ */
1687
+ export interface GetViewlog2Request {
1688
+ /** Current day (yyyy-MM-dd) - REQUIRED */
1689
+ currentDay: string;
1690
+ /** Page number (default 1) */
1691
+ page?: number;
1692
+ /** Page size (default 1000) */
1693
+ pageSize?: number;
1694
+ }
1695
+ /**
1696
+ * Viewlog Page V3 Item (AC16)
1697
+ */
1698
+ export interface ViewlogPageV3Item {
1699
+ playId: string;
1700
+ userId: string;
1701
+ channelId: string;
1702
+ playDuration: number;
1703
+ stayDuration: number;
1704
+ sessionId: string;
1705
+ param1: string;
1706
+ param2: string;
1707
+ param3: string;
1708
+ param4: string;
1709
+ param5: string;
1710
+ ipAddress: string;
1711
+ country: string;
1712
+ province: string;
1713
+ city: string;
1714
+ isp: string;
1715
+ referer: string;
1716
+ userAgent: string;
1717
+ operatingSystem: string;
1718
+ browser: string;
1719
+ isMobile: string;
1720
+ currentDay: string;
1721
+ createdTime?: number;
1722
+ lastModified?: number;
1723
+ ptype?: number;
1724
+ firstActiveTime?: number;
1725
+ lastActiveTime?: number;
1726
+ }
1727
+ /**
1728
+ * Get Viewlog Page V3 Request (AC16)
1729
+ */
1730
+ export interface GetViewlogPageV3Request {
1731
+ /** Current day (yyyy-MM-dd) */
1732
+ currentDay?: string;
1733
+ /** Page number (default 1) */
1734
+ page?: number;
1735
+ /** Page size (default 1000) */
1736
+ pageSize?: number;
1737
+ /** Start time (13-digit ms timestamp) */
1738
+ startTime?: number;
1739
+ /** End time (13-digit ms timestamp) */
1740
+ endTime?: number;
1741
+ /** Viewer user ID */
1742
+ param1?: string;
1743
+ /** Viewer nickname */
1744
+ param2?: string;
1745
+ /** View log type: 'vod' or 'live' */
1746
+ param3?: string;
1747
+ }
1748
+ /**
1749
+ * Viewlog Page V3 Response (AC16)
1750
+ */
1751
+ export interface GetViewlogPageV3Response {
1752
+ pageSize: number;
1753
+ pageNumber: number;
1754
+ totalItems: number;
1755
+ contents: ViewlogPageV3Item[];
1756
+ startRow: number;
1757
+ firstPage: boolean;
1758
+ lastPage: boolean;
1759
+ prePageNumber: number;
1760
+ nextPageNumber: number;
1761
+ limit: number;
1762
+ totalPages: number;
1763
+ endRow: number;
1764
+ offset: number;
1765
+ }
1766
+ /**
1767
+ * Set DIY URL Marquee Request (AC1)
1768
+ */
1769
+ export interface SetDiyUrlMarqueeRequest {
1770
+ /** Channel ID - REQUIRED */
1771
+ channelId: string;
1772
+ /** Marquee restrict flag: 'Y' to enable, 'N' to disable - REQUIRED */
1773
+ marqueeRestrict: YNFlag;
1774
+ /** Marquee URL (required when marqueeRestrict is 'Y') */
1775
+ url?: string;
1776
+ }
1777
+ /**
1778
+ * Session Data Item (AC2)
1779
+ */
1780
+ export interface SessionDataItem {
1781
+ sessionId: string;
1782
+ channelId: string;
1783
+ userId: string;
1784
+ startTime: number;
1785
+ endTime: number | null;
1786
+ customId?: string;
1787
+ }
1788
+ /**
1789
+ * Get Session Data List Request (AC2)
1790
+ */
1791
+ export interface GetSessionDataListRequest {
1792
+ /** Channel ID - REQUIRED */
1793
+ channelId: string;
1794
+ /** Start date (yyyy-MM-dd) */
1795
+ startDate?: string;
1796
+ /** End date (yyyy-MM-dd) */
1797
+ endDate?: string;
1798
+ /** Page number */
1799
+ page?: number;
1800
+ /** Page size */
1801
+ pageSize?: number;
1802
+ }
1803
+ /**
1804
+ * Get Session Data List Response (AC2)
1805
+ */
1806
+ export interface GetSessionDataListResponse {
1807
+ pageSize: number;
1808
+ pageNumber: number;
1809
+ totalItems: number;
1810
+ contents: SessionDataItem[];
1811
+ startRow: number;
1812
+ firstPage: boolean;
1813
+ lastPage: boolean;
1814
+ prePageNumber: number;
1815
+ nextPageNumber: number;
1816
+ limit: number;
1817
+ totalPages: number;
1818
+ endRow: number;
1819
+ offset: number;
1820
+ }
1821
+ /**
1822
+ * Export Session Stats Request (AC3)
1823
+ */
1824
+ export interface ExportSessionStatsRequest {
1825
+ /** Channel ID - REQUIRED */
1826
+ channelId: string;
1827
+ /** Session ID - REQUIRED */
1828
+ sessionId: string;
1829
+ }
1830
+ /**
1831
+ * Get Session By External Request (AC4)
1832
+ */
1833
+ export interface GetSessionByExternalRequest {
1834
+ /** Channel ID - REQUIRED */
1835
+ channelId: string;
1836
+ /** External session ID (32-char UUID) - REQUIRED */
1837
+ externalSessionId: string;
1838
+ }
1839
+ /**
1840
+ * Get Session By External Response (AC4)
1841
+ */
1842
+ export interface GetSessionByExternalResponse {
1843
+ list: string[];
1844
+ }
1845
+ /**
1846
+ * File ID By External Item (AC5)
1847
+ */
1848
+ export interface FileIdByExternalItem {
1849
+ originSessionId: string;
1850
+ fileIds: string[];
1851
+ createdTime: number;
1852
+ }
1853
+ /**
1854
+ * List File ID By External Request (AC5)
1855
+ */
1856
+ export interface ListFileIdByExternalRequest {
1857
+ /** Channel ID - REQUIRED */
1858
+ channelId: string;
1859
+ /** External session ID (32-char UUID) - REQUIRED */
1860
+ externalSessionId: string;
1861
+ }
1862
+ /**
1863
+ * Relevance Session Request (AC6)
1864
+ */
1865
+ export interface RelevanceSessionRequest {
1866
+ /** Channel ID - REQUIRED */
1867
+ channelId: string;
1868
+ /** External session ID (32-char UUID) - REQUIRED */
1869
+ externalSessionId: string;
1870
+ }
1871
+ /**
1872
+ * Live Status Type
1873
+ */
1874
+ export type LiveStatus = 'live' | 'end';
1875
+ /**
1876
+ * Live Status Item (AC8)
1877
+ */
1878
+ export interface LiveStatusItem {
1879
+ channelId: string;
1880
+ status: LiveStatus;
1881
+ seminarStatus?: string;
1882
+ }
1883
+ /**
1884
+ * Stream Info (AC9, AC10)
1885
+ */
1886
+ export interface StreamInfo {
1887
+ deployAddress: string | null;
1888
+ inAddress: string | null;
1889
+ streamName: string;
1890
+ fps: string | null;
1891
+ lfr: string | null;
1892
+ inBandWidth: string | null;
1893
+ }
1894
+ /**
1895
+ * Get Stream Info Response (AC9)
1896
+ */
1897
+ export interface GetStreamInfoResponse extends StreamInfo {
1898
+ }
1899
+ /**
1900
+ * Get Streams Item (AC10)
1901
+ */
1902
+ export interface GetStreamsItem {
1903
+ channelId: string;
1904
+ live: boolean;
1905
+ streamInfo: StreamInfo;
1906
+ }
1907
+ /**
1908
+ * Disk Video Item (AC11)
1909
+ */
1910
+ export interface DiskVideoItem {
1911
+ videoId: string;
1912
+ videoPoolId: string;
1913
+ userId: string;
1914
+ channelId: string;
1915
+ title: string;
1916
+ firstImage: string;
1917
+ duration: number;
1918
+ startTime: number;
1919
+ endTime: number;
1920
+ createdTime: number;
1921
+ lastModified: number;
1922
+ url: string;
1923
+ streamStatus: string;
1924
+ langType: string;
1925
+ source: string;
1926
+ }
1927
+ /**
1928
+ * List Disk Video Response (AC11)
1929
+ */
1930
+ export interface ListDiskVideoResponse {
1931
+ pageSize: number;
1932
+ pageNumber: number;
1933
+ totalItems: number;
1934
+ contents: DiskVideoItem[];
1935
+ startRow: number;
1936
+ firstPage: boolean;
1937
+ lastPage: boolean;
1938
+ prePageNumber: number;
1939
+ nextPageNumber: number;
1940
+ limit: number;
1941
+ totalPages: number;
1942
+ endRow: number;
1943
+ offset: number;
1944
+ }
1945
+ /**
1946
+ * List Disk Video Request (AC11)
1947
+ */
1948
+ export interface ListDiskVideoRequest {
1949
+ /** Channel ID - REQUIRED */
1950
+ channelId: string;
1951
+ /** Page number */
1952
+ page?: number;
1953
+ /** Page size */
1954
+ pageSize?: number;
1955
+ }
1956
+ /**
1957
+ * Set Status Request (AC12, AC13)
1958
+ */
1959
+ export interface SetStatusRequest {
1960
+ /** Channel ID - REQUIRED */
1961
+ channelId: string;
1962
+ /** User ID - REQUIRED */
1963
+ userId: string;
1964
+ }
1965
+ /**
1966
+ * Ban Push Request (AC14)
1967
+ */
1968
+ export interface BanPushRequest {
1969
+ /** Channel ID - REQUIRED */
1970
+ channelId: string;
1971
+ /** User ID - REQUIRED */
1972
+ userId: string;
1973
+ /** Forbid time in minutes */
1974
+ forbidTime?: number;
1975
+ /** Playback forbidden: 'Y' or 'N' */
1976
+ playbackForbidden?: YNFlag;
1977
+ }
1978
+ /**
1979
+ * End Disk Push Request (AC16)
1980
+ */
1981
+ export interface EndDiskPushRequest {
1982
+ /** Channel ID - REQUIRED */
1983
+ channelId: string;
1984
+ /** Disk video ID - REQUIRED */
1985
+ diskVideoId: string;
1986
+ }
1987
+ /**
1988
+ * Update Warmup Switch Request (AC17)
1989
+ */
1990
+ export interface UpdateWarmupSwitchRequest {
1991
+ /** Channel ID - REQUIRED */
1992
+ channelId: string;
1993
+ /** Warmup enabled flag: 'Y' or 'N' - REQUIRED */
1994
+ warmUpEnabled: YNFlag;
1995
+ }
1996
+ /**
1997
+ * Update Warmup Image Request (AC18)
1998
+ */
1999
+ export interface UpdateWarmupImageRequest {
2000
+ /** Channel ID - REQUIRED */
2001
+ channelId: string;
2002
+ /** Cover image URL - REQUIRED */
2003
+ coverImage: string;
2004
+ /** Cover href URL */
2005
+ coverHref?: string;
2006
+ }
2007
+ /**
2008
+ * Update Warmup Video Request (AC19)
2009
+ */
2010
+ export interface UpdateWarmupVideoRequest {
2011
+ /** Channel ID - REQUIRED */
2012
+ channelId: string;
2013
+ /** Warmup FLV URL - REQUIRED */
2014
+ warmUpFlv: string;
2015
+ }
2016
+ /**
2017
+ * Product link type
2018
+ * - 10: Universal link (通用链接)
2019
+ * - 11: Multi-platform link (多平台链接)
2020
+ */
2021
+ export type ProductLinkType = 10 | 11;
2022
+ /**
2023
+ * Product status
2024
+ * - 1: On shelf (上架)
2025
+ * - 2: Off shelf (下架)
2026
+ */
2027
+ export type ProductStatus = 1 | 2;
2028
+ /**
2029
+ * Product price type
2030
+ * - AMOUNT: Numeric price
2031
+ * - CUSTOM: Custom text price
2032
+ */
2033
+ export type ProductPriceType = 'AMOUNT' | 'CUSTOM';
2034
+ /**
2035
+ * Product type
2036
+ * - normal: Regular product
2037
+ * - finance: Financial product
2038
+ * - position: Job position
2039
+ */
2040
+ export type ProductType = 'normal' | 'finance' | 'position';
2041
+ /**
2042
+ * Copy strategy for platform products
2043
+ * - copy: Create independent copy
2044
+ * - ref: Reference (syncs with platform changes)
2045
+ */
2046
+ export type ProductCopyStrategy = 'copy' | 'ref';
2047
+ /**
2048
+ * Add Channel Product Request
2049
+ *
2050
+ * Parameters for adding a new product to channel product library.
2051
+ * Note: Only (channelId, timestamp, appId) participate in signature,
2052
+ * body parameters do NOT participate in signature.
2053
+ */
2054
+ export interface AddChannelProductParams {
2055
+ /** Channel ID - REQUIRED (URL param for signature) */
2056
+ channelId: string;
2057
+ /** Product type - OPTIONAL, defaults to 'normal' */
2058
+ productType?: ProductType;
2059
+ /** Product name - REQUIRED, 1-100 chars (backend supports 1-50) */
2060
+ name: string;
2061
+ /** Product status - REQUIRED: 1 (on shelf) | 2 (off shelf) */
2062
+ status: ProductStatus;
2063
+ /** Link type - REQUIRED: 10 (universal) | 11 (multi-platform) */
2064
+ linkType: ProductLinkType;
2065
+ /** Product cover URL - REQUIRED for normal, optional for others */
2066
+ cover?: string;
2067
+ /** Universal link - REQUIRED when linkType=10 */
2068
+ link?: string;
2069
+ /** PC link - for multi-platform (linkType=11) */
2070
+ pcLink?: string;
2071
+ /** Mobile web link */
2072
+ mobileLink?: string;
2073
+ /** WeChat miniprogram link */
2074
+ wxMiniprogramLink?: string;
2075
+ /** WeChat miniprogram original ID */
2076
+ wxMiniprogramOriginalId?: string;
2077
+ /** Mobile app link */
2078
+ mobileAppLink?: string;
2079
+ /** Android native link */
2080
+ androidLink?: string;
2081
+ /** iOS native link */
2082
+ iosLink?: string;
2083
+ /** Custom params as JSON string, e.g., '{"id":21,"color":"blue"}' */
2084
+ params?: string;
2085
+ /** Product description */
2086
+ productDesc?: string;
2087
+ /** Product features/tags as JSON array string, e.g., '["tag1","tag2"]' */
2088
+ features?: string;
2089
+ /** Button text - REQUIRED for position type */
2090
+ btnShow?: string;
2091
+ /** Yield/rate - for finance products, e.g., '87.99%' */
2092
+ yield?: string;
2093
+ /** Platform product ID for copy/reference */
2094
+ originId?: string;
2095
+ /** Copy strategy when originId is set: copy | ref */
2096
+ strategy?: ProductCopyStrategy;
2097
+ /** Product detail HTML */
2098
+ productDetail?: string;
2099
+ /** Extension info as JSON string with coverList/videoList */
2100
+ ext?: string;
2101
+ /** Tag IDs as JSON array string, e.g., '[100,102,103]' */
2102
+ tagIds?: string;
2103
+ /** Real price type - AMOUNT | CUSTOM */
2104
+ priceType?: ProductPriceType;
2105
+ /** Real price amount - required when priceType=AMOUNT */
2106
+ realPrice?: number;
2107
+ /** Custom price text - required when priceType=CUSTOM */
2108
+ customPrice?: string;
2109
+ /** Original price type - AMOUNT | CUSTOM */
2110
+ originalPriceType?: ProductPriceType;
2111
+ /** Original price amount */
2112
+ price?: number;
2113
+ /** Custom original price text */
2114
+ customOrignalPrice?: string;
2115
+ }
2116
+ /**
2117
+ * Add Channel Product Response
2118
+ *
2119
+ * Response data for successful product creation.
2120
+ */
2121
+ export interface AddChannelProductResponse {
2122
+ /** Product ID */
2123
+ productId: number;
2124
+ /** User ID */
2125
+ userId: string;
2126
+ /** Channel ID */
2127
+ channelId: string;
2128
+ /** Product name */
2129
+ name: string;
2130
+ /** Product type */
2131
+ productType: ProductType;
2132
+ /** Product cover URL */
2133
+ cover: string;
2134
+ /** Product link */
2135
+ link: string;
2136
+ /** Product status */
2137
+ status: ProductStatus;
2138
+ /** Created time (13-bit ms timestamp) */
2139
+ createdTime: number;
2140
+ /** Last modified time (13-bit ms timestamp) */
2141
+ lastModified: number;
2142
+ /** Sort rank */
2143
+ rank: number;
2144
+ /** Platform type, default 'live' */
2145
+ type: string;
2146
+ /** Link type */
2147
+ linkType: ProductLinkType;
2148
+ /** PC link */
2149
+ pcLink: string;
2150
+ /** Mobile web link */
2151
+ mobileLink: string;
2152
+ /** WeChat miniprogram link */
2153
+ wxMiniprogramLink: string;
2154
+ /** WeChat miniprogram original ID */
2155
+ wxMiniprogramOriginalId: string;
2156
+ /** Mobile app link */
2157
+ mobileAppLink: string;
2158
+ /** Android link */
2159
+ androidLink: string | null;
2160
+ /** iOS link */
2161
+ iosLink: string | null;
2162
+ /** Custom params JSON */
2163
+ params: string;
2164
+ /** Button text */
2165
+ btnShow: string;
2166
+ /** Features JSON */
2167
+ features: string;
2168
+ /** Product description */
2169
+ productDesc: string;
2170
+ /** Yield for finance products */
2171
+ yield: string;
2172
+ /** Product detail URL */
2173
+ productDetail: string;
2174
+ /** Real price type */
2175
+ priceType?: ProductPriceType;
2176
+ /** Real price */
2177
+ realPrice?: number;
2178
+ /** Custom price */
2179
+ customPrice?: string;
2180
+ /** Original price type */
2181
+ originalPriceType?: ProductPriceType;
2182
+ /** Original price */
2183
+ price?: number;
2184
+ /** Custom original price */
2185
+ customOrignalPrice?: string;
2186
+ }
2187
+ /**
2188
+ * Update Channel Product Request
2189
+ *
2190
+ * Parameters for updating an existing product.
2191
+ * Note: Only (channelId, timestamp, appId) participate in signature.
2192
+ */
2193
+ export interface UpdateChannelProductParams {
2194
+ /** Channel ID - REQUIRED (URL param for signature) */
2195
+ channelId: string;
2196
+ /** Product ID - REQUIRED */
2197
+ productId: number;
2198
+ /** Product name - REQUIRED, 1-100 chars */
2199
+ name: string;
2200
+ /** Product status - REQUIRED: 1 (on shelf) | 2 (off shelf) */
2201
+ status: ProductStatus;
2202
+ /** Link type - REQUIRED: 10 (universal) | 11 (multi-platform) */
2203
+ linkType: ProductLinkType;
2204
+ /** Product cover URL */
2205
+ cover?: string;
2206
+ /** Universal link */
2207
+ link?: string;
2208
+ /** PC link */
2209
+ pcLink?: string;
2210
+ /** Mobile web link */
2211
+ mobileLink?: string;
2212
+ /** WeChat miniprogram link */
2213
+ wxMiniprogramLink?: string;
2214
+ /** WeChat miniprogram original ID */
2215
+ wxMiniprogramOriginalId?: string;
2216
+ /** Mobile app link */
2217
+ mobileAppLink?: string;
2218
+ /** Android native link */
2219
+ androidLink?: string;
2220
+ /** iOS native link */
2221
+ iosLink?: string;
2222
+ /** Custom params as JSON string */
2223
+ params?: string;
2224
+ /** Product description */
2225
+ productDesc?: string;
2226
+ /** Features as JSON array string */
2227
+ features?: string;
2228
+ /** Button text */
2229
+ btnShow?: string;
2230
+ /** Yield for finance products */
2231
+ yield?: string;
2232
+ /** Product detail HTML */
2233
+ productDetail?: string;
2234
+ /** Extension info as JSON string */
2235
+ ext?: string;
2236
+ /** Tag IDs as JSON array string */
2237
+ tagIds?: string;
2238
+ /** Real price type */
2239
+ priceType?: ProductPriceType;
2240
+ /** Real price amount */
2241
+ realPrice?: number;
2242
+ /** Custom price text */
2243
+ customPrice?: string;
2244
+ /** Original price type */
2245
+ originalPriceType?: ProductPriceType;
2246
+ /** Original price amount */
2247
+ price?: number;
2248
+ /** Custom original price text */
2249
+ customOrignalPrice?: string;
2250
+ }
2251
+ /**
2252
+ * Delete Channel Product Request
2253
+ *
2254
+ * Parameters for deleting a product from channel.
2255
+ * Note: All params (channelId, productId, appId, timestamp) participate in signature.
2256
+ */
2257
+ export interface DeleteChannelProductParams {
2258
+ /** Channel ID - REQUIRED */
2259
+ channelId: string;
2260
+ /** Product ID - REQUIRED */
2261
+ productId: number;
2262
+ }
2263
+ //# sourceMappingURL=channel.d.ts.map