@congminh1254/shopee-sdk 1.6.1 → 1.7.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 (154) hide show
  1. package/README.md +9 -3
  2. package/lib/__tests__/errors.test.d.ts +1 -0
  3. package/lib/__tests__/errors.test.js +49 -0
  4. package/lib/__tests__/errors.test.js.map +1 -0
  5. package/lib/__tests__/fetch.test.d.ts +1 -0
  6. package/lib/__tests__/fetch.test.js +494 -0
  7. package/lib/__tests__/fetch.test.js.map +1 -0
  8. package/lib/__tests__/integration.test.d.ts +1 -0
  9. package/lib/__tests__/integration.test.js +201 -0
  10. package/lib/__tests__/integration.test.js.map +1 -0
  11. package/lib/__tests__/managers/account-health.manager.test.d.ts +1 -0
  12. package/lib/__tests__/managers/account-health.manager.test.js +446 -0
  13. package/lib/__tests__/managers/account-health.manager.test.js.map +1 -0
  14. package/lib/__tests__/managers/add-on-deal.manager.test.d.ts +1 -0
  15. package/lib/__tests__/managers/add-on-deal.manager.test.js +636 -0
  16. package/lib/__tests__/managers/add-on-deal.manager.test.js.map +1 -0
  17. package/lib/__tests__/managers/ads.manager.test.d.ts +1 -0
  18. package/lib/__tests__/managers/ads.manager.test.js +1016 -0
  19. package/lib/__tests__/managers/ads.manager.test.js.map +1 -0
  20. package/lib/__tests__/managers/ams.manager.test.d.ts +1 -0
  21. package/lib/__tests__/managers/ams.manager.test.js +1170 -0
  22. package/lib/__tests__/managers/ams.manager.test.js.map +1 -0
  23. package/lib/__tests__/managers/auth.manager.test.d.ts +1 -0
  24. package/lib/__tests__/managers/auth.manager.test.js +193 -0
  25. package/lib/__tests__/managers/auth.manager.test.js.map +1 -0
  26. package/lib/__tests__/managers/bundle-deal.manager.test.d.ts +1 -0
  27. package/lib/__tests__/managers/bundle-deal.manager.test.js +465 -0
  28. package/lib/__tests__/managers/bundle-deal.manager.test.js.map +1 -0
  29. package/lib/__tests__/managers/discount.manager.test.d.ts +1 -0
  30. package/lib/__tests__/managers/discount.manager.test.js +615 -0
  31. package/lib/__tests__/managers/discount.manager.test.js.map +1 -0
  32. package/lib/__tests__/managers/fbs.manager.test.d.ts +1 -0
  33. package/lib/__tests__/managers/fbs.manager.test.js +349 -0
  34. package/lib/__tests__/managers/fbs.manager.test.js.map +1 -0
  35. package/lib/__tests__/managers/first-mile.manager.test.d.ts +1 -0
  36. package/lib/__tests__/managers/first-mile.manager.test.js +629 -0
  37. package/lib/__tests__/managers/first-mile.manager.test.js.map +1 -0
  38. package/lib/__tests__/managers/follow-prize.manager.test.d.ts +1 -0
  39. package/lib/__tests__/managers/follow-prize.manager.test.js +408 -0
  40. package/lib/__tests__/managers/follow-prize.manager.test.js.map +1 -0
  41. package/lib/__tests__/managers/global-product.manager.test.d.ts +1 -0
  42. package/lib/__tests__/managers/global-product.manager.test.js +1253 -0
  43. package/lib/__tests__/managers/global-product.manager.test.js.map +1 -0
  44. package/lib/__tests__/managers/livestream.manager.test.d.ts +1 -0
  45. package/lib/__tests__/managers/livestream.manager.test.js +877 -0
  46. package/lib/__tests__/managers/livestream.manager.test.js.map +1 -0
  47. package/lib/__tests__/managers/logistics.manager.test.d.ts +1 -0
  48. package/lib/__tests__/managers/logistics.manager.test.js +1125 -0
  49. package/lib/__tests__/managers/logistics.manager.test.js.map +1 -0
  50. package/lib/__tests__/managers/media-space.manager.test.d.ts +1 -0
  51. package/lib/__tests__/managers/media-space.manager.test.js +556 -0
  52. package/lib/__tests__/managers/media-space.manager.test.js.map +1 -0
  53. package/lib/__tests__/managers/media.manager.test.d.ts +1 -0
  54. package/lib/__tests__/managers/media.manager.test.js +681 -0
  55. package/lib/__tests__/managers/media.manager.test.js.map +1 -0
  56. package/lib/__tests__/managers/merchant.manager.test.d.ts +1 -0
  57. package/lib/__tests__/managers/merchant.manager.test.js +328 -0
  58. package/lib/__tests__/managers/merchant.manager.test.js.map +1 -0
  59. package/lib/__tests__/managers/order.manager.test.d.ts +1 -0
  60. package/lib/__tests__/managers/order.manager.test.js +937 -0
  61. package/lib/__tests__/managers/order.manager.test.js.map +1 -0
  62. package/lib/__tests__/managers/payment.manager.test.d.ts +1 -0
  63. package/lib/__tests__/managers/payment.manager.test.js +1167 -0
  64. package/lib/__tests__/managers/payment.manager.test.js.map +1 -0
  65. package/lib/__tests__/managers/product.manager.test.d.ts +1 -0
  66. package/lib/__tests__/managers/product.manager.test.js +2247 -0
  67. package/lib/__tests__/managers/product.manager.test.js.map +1 -0
  68. package/lib/__tests__/managers/public.manager.test.d.ts +1 -0
  69. package/lib/__tests__/managers/public.manager.test.js +209 -0
  70. package/lib/__tests__/managers/public.manager.test.js.map +1 -0
  71. package/lib/__tests__/managers/push.manager.test.d.ts +1 -0
  72. package/lib/__tests__/managers/push.manager.test.js +244 -0
  73. package/lib/__tests__/managers/push.manager.test.js.map +1 -0
  74. package/lib/__tests__/managers/returns.manager.test.d.ts +1 -0
  75. package/lib/__tests__/managers/returns.manager.test.js +783 -0
  76. package/lib/__tests__/managers/returns.manager.test.js.map +1 -0
  77. package/lib/__tests__/managers/sbs.manager.test.d.ts +1 -0
  78. package/lib/__tests__/managers/sbs.manager.test.js +492 -0
  79. package/lib/__tests__/managers/sbs.manager.test.js.map +1 -0
  80. package/lib/__tests__/managers/shop-category.manager.test.d.ts +1 -0
  81. package/lib/__tests__/managers/shop-category.manager.test.js +425 -0
  82. package/lib/__tests__/managers/shop-category.manager.test.js.map +1 -0
  83. package/lib/__tests__/managers/shop-flash-sale.manager.test.d.ts +1 -0
  84. package/lib/__tests__/managers/shop-flash-sale.manager.test.js +492 -0
  85. package/lib/__tests__/managers/shop-flash-sale.manager.test.js.map +1 -0
  86. package/lib/__tests__/managers/shop.manager.test.d.ts +1 -0
  87. package/lib/__tests__/managers/shop.manager.test.js +637 -0
  88. package/lib/__tests__/managers/shop.manager.test.js.map +1 -0
  89. package/lib/__tests__/managers/top-picks.manager.test.d.ts +1 -0
  90. package/lib/__tests__/managers/top-picks.manager.test.js +324 -0
  91. package/lib/__tests__/managers/top-picks.manager.test.js.map +1 -0
  92. package/lib/__tests__/managers/video.manager.test.d.ts +1 -0
  93. package/lib/__tests__/managers/video.manager.test.js +1039 -0
  94. package/lib/__tests__/managers/video.manager.test.js.map +1 -0
  95. package/lib/__tests__/managers/voucher.manager.test.d.ts +1 -0
  96. package/lib/__tests__/managers/voucher.manager.test.js +442 -0
  97. package/lib/__tests__/managers/voucher.manager.test.js.map +1 -0
  98. package/lib/__tests__/sdk.test.d.ts +1 -0
  99. package/lib/__tests__/sdk.test.js +227 -0
  100. package/lib/__tests__/sdk.test.js.map +1 -0
  101. package/lib/__tests__/storage/custom-token-storage.test.d.ts +1 -0
  102. package/lib/__tests__/storage/custom-token-storage.test.js +337 -0
  103. package/lib/__tests__/storage/custom-token-storage.test.js.map +1 -0
  104. package/lib/__tests__/utils/signature.test.d.ts +1 -0
  105. package/lib/__tests__/utils/signature.test.js +38 -0
  106. package/lib/__tests__/utils/signature.test.js.map +1 -0
  107. package/lib/__tests__/utils/spec-audit.test.d.ts +1 -0
  108. package/lib/__tests__/utils/spec-audit.test.js +176 -0
  109. package/lib/__tests__/utils/spec-audit.test.js.map +1 -0
  110. package/lib/errors.js +2 -0
  111. package/lib/errors.js.map +1 -1
  112. package/lib/fetch.js +65 -3
  113. package/lib/fetch.js.map +1 -1
  114. package/lib/managers/ads.manager.d.ts +1 -41
  115. package/lib/managers/ads.manager.js +0 -54
  116. package/lib/managers/ads.manager.js.map +1 -1
  117. package/lib/managers/auth.manager.d.ts +2 -1
  118. package/lib/managers/auth.manager.js +2 -5
  119. package/lib/managers/auth.manager.js.map +1 -1
  120. package/lib/managers/base.manager.js +1 -0
  121. package/lib/managers/base.manager.js.map +1 -1
  122. package/lib/managers/media.manager.d.ts +43 -8
  123. package/lib/managers/media.manager.js +75 -7
  124. package/lib/managers/media.manager.js.map +1 -1
  125. package/lib/managers/order.manager.js +1 -0
  126. package/lib/managers/order.manager.js.map +1 -1
  127. package/lib/managers/payment.manager.d.ts +13 -1
  128. package/lib/managers/payment.manager.js +26 -0
  129. package/lib/managers/payment.manager.js.map +1 -1
  130. package/lib/managers/product.manager.js +1 -1
  131. package/lib/managers/product.manager.js.map +1 -1
  132. package/lib/schemas/ads.d.ts +2 -56
  133. package/lib/schemas/ams.d.ts +92 -0
  134. package/lib/schemas/base.d.ts +2 -0
  135. package/lib/schemas/discount.d.ts +4 -0
  136. package/lib/schemas/fetch.d.ts +1 -1
  137. package/lib/schemas/livestream.d.ts +14 -0
  138. package/lib/schemas/media.d.ts +113 -6
  139. package/lib/schemas/merchant.d.ts +2 -0
  140. package/lib/schemas/order.d.ts +22 -0
  141. package/lib/schemas/payment.d.ts +96 -0
  142. package/lib/schemas/product.d.ts +253 -15
  143. package/lib/schemas/public.d.ts +3 -0
  144. package/lib/schemas/returns.d.ts +38 -1
  145. package/lib/schemas/shop.d.ts +16 -0
  146. package/lib/schemas/video.d.ts +83 -37
  147. package/lib/schemas/voucher.d.ts +2 -0
  148. package/lib/sdk.js +31 -0
  149. package/lib/sdk.js.map +1 -1
  150. package/lib/storage/custom-token-storage.js +2 -0
  151. package/lib/storage/custom-token-storage.js.map +1 -1
  152. package/lib/version.d.ts +1 -1
  153. package/lib/version.js +1 -1
  154. package/package.json +3 -3
@@ -274,6 +274,8 @@ export type GetOpenCampaignPerformanceParams = {
274
274
  page_no?: number;
275
275
  /** Page size */
276
276
  page_size?: number;
277
+ /** Item ID */
278
+ item_id?: number;
277
279
  };
278
280
  /**
279
281
  * Response for get_open_campaign_performance API
@@ -435,6 +437,14 @@ export type GetTargetedCampaignListParams = {
435
437
  campaign_name?: string;
436
438
  /** Campaign status to filter */
437
439
  campaign_status?: string;
440
+ /** Period start time */
441
+ period_start_time?: number;
442
+ /** Period end time */
443
+ period_end_time?: number;
444
+ /** Item ID */
445
+ item_id?: number;
446
+ /** Item name */
447
+ item_name?: string;
438
448
  };
439
449
  /**
440
450
  * Response for get_targeted_campaign_list API
@@ -482,6 +492,8 @@ export type GetTargetedCampaignPerformanceParams = {
482
492
  page_no?: number;
483
493
  /** Page size */
484
494
  page_size?: number;
495
+ /** Campaign ID */
496
+ campaign_id?: number;
485
497
  };
486
498
  /**
487
499
  * Response for get_targeted_campaign_performance API
@@ -607,6 +619,12 @@ export type GetAffiliatePerformanceParams = {
607
619
  page_no?: number;
608
620
  /** Page size */
609
621
  page_size?: number;
622
+ /** Order type filter: 1: all, 2: completed, 3: cancelled, etc. */
623
+ order_type?: number;
624
+ /** Traffic channel: custom, livestream, affiliate, etc. */
625
+ channel?: string;
626
+ /** Affiliate ID to filter */
627
+ affiliate_id?: string;
610
628
  };
611
629
  /**
612
630
  * Response for get_affiliate_performance API
@@ -685,6 +703,14 @@ export type GetContentPerformanceParams = {
685
703
  page_no?: number;
686
704
  /** Page size */
687
705
  page_size?: number;
706
+ /** Order type filter */
707
+ order_type?: number;
708
+ /** Traffic channel */
709
+ channel?: string;
710
+ /** Affiliate ID */
711
+ affiliate_id?: string;
712
+ /** Item ID */
713
+ item_id?: number;
688
714
  };
689
715
  /**
690
716
  * Response for get_content_performance API
@@ -724,6 +750,46 @@ export type GetConversionReportParams = {
724
750
  affiliate_id?: number;
725
751
  /** Item ID to filter */
726
752
  item_id?: number;
753
+ /** Item name */
754
+ item_name?: string;
755
+ /** L1 category ID */
756
+ l1_category_id?: number;
757
+ /** L2 category ID */
758
+ l2_category_id?: number;
759
+ /** L3 category ID */
760
+ l3_category_id?: number;
761
+ /** Order status */
762
+ order_status?: number;
763
+ /** Verified status */
764
+ verified_status?: number;
765
+ /** Buyer status */
766
+ buyer_status?: number;
767
+ /** Attr campaign ID */
768
+ attr_campaign_id?: string;
769
+ /** Campaign partner */
770
+ campaign_partner?: string;
771
+ /** Seller campaign type */
772
+ seller_campaign_type?: string;
773
+ /** Deduction status */
774
+ deduction_status?: number;
775
+ /** Deduction method */
776
+ deduction_method?: string;
777
+ /** Place order time start */
778
+ place_order_time_start?: number;
779
+ /** Place order time end */
780
+ place_order_time_end?: number;
781
+ /** Order completed time start */
782
+ order_completed_time_start?: number;
783
+ /** Order completed time end */
784
+ order_completed_time_end?: number;
785
+ /** Conversion completed time start */
786
+ conversion_completed_time_start?: number;
787
+ /** Conversion completed time end */
788
+ conversion_completed_time_end?: number;
789
+ /** AMS deduction time start */
790
+ ams_deduction_time_start?: number;
791
+ /** AMS deduction time end */
792
+ ams_deduction_time_end?: number;
727
793
  };
728
794
  /**
729
795
  * Response for get_conversion_report API
@@ -839,6 +905,12 @@ export type GetProductPerformanceParams = {
839
905
  page_no?: number;
840
906
  /** Page size */
841
907
  page_size?: number;
908
+ /** Order type filter */
909
+ order_type?: number;
910
+ /** Traffic channel */
911
+ channel?: string;
912
+ /** Item ID */
913
+ item_id?: number;
842
914
  };
843
915
  /**
844
916
  * Response for get_product_performance API
@@ -970,6 +1042,26 @@ export type GetValidationReportParams = {
970
1042
  validation_month?: string;
971
1043
  /** Campaign source */
972
1044
  campaign_source?: string;
1045
+ /** Order SN */
1046
+ order_sn?: string;
1047
+ /** L1 category ID */
1048
+ l1_category_id?: number;
1049
+ /** L2 category ID */
1050
+ l2_category_id?: number;
1051
+ /** L3 category ID */
1052
+ l3_category_id?: number;
1053
+ /** Item ID */
1054
+ item_id?: number;
1055
+ /** Item name */
1056
+ item_name?: string;
1057
+ /** Verified status */
1058
+ verified_status?: number;
1059
+ /** Attr campaign ID */
1060
+ attr_campaign_id?: string;
1061
+ /** Place order time start */
1062
+ place_order_time_start?: number;
1063
+ /** Place order time end */
1064
+ place_order_time_end?: number;
973
1065
  };
974
1066
  /**
975
1067
  * Response for get_validation_report API
@@ -8,4 +8,6 @@ export interface BaseResponse {
8
8
  error: string;
9
9
  /** Error message if any error occurred */
10
10
  message: string;
11
+ /** Warning message or list of warning messages */
12
+ warning?: string | string[];
11
13
  }
@@ -101,6 +101,10 @@ export interface GetDiscountListParams {
101
101
  page_no?: number;
102
102
  /** Maximum number of entries to retrieve per page. Default 100, max 100 */
103
103
  page_size?: number;
104
+ /** Update time from */
105
+ update_time_from?: number;
106
+ /** Update time to */
107
+ update_time_to?: number;
104
108
  [key: string]: string | number | boolean | undefined;
105
109
  }
106
110
  /**
@@ -5,7 +5,7 @@ export type FetchOptions = Omit<RequestInit, "body"> & {
5
5
  auth?: boolean;
6
6
  };
7
7
  export interface FetchResponse<T> {
8
- result: T;
8
+ result?: T;
9
9
  response: T;
10
10
  request_id: string;
11
11
  error: string;
@@ -81,6 +81,8 @@ export interface UpdateSessionParams {
81
81
  description?: string;
82
82
  /** The cover image URL of livestream session */
83
83
  cover_image_url?: string;
84
+ /** Indicate whether the livestream session is for testing purpose only */
85
+ is_test?: boolean;
84
86
  }
85
87
  /**
86
88
  * Response for updating a livestream session
@@ -400,6 +402,8 @@ export interface GetLikeItemListParams extends Record<string, string | number |
400
402
  offset: number;
401
403
  /** Maximum number of entries per page (1-100) */
402
404
  page_size: number;
405
+ /** Keyword for search */
406
+ keyword?: string;
403
407
  }
404
408
  /**
405
409
  * Response for getting like item list
@@ -422,6 +426,8 @@ export interface ApplyItemSetParams {
422
426
  session_id: number;
423
427
  /** The identifier of item set */
424
428
  item_set_id: number;
429
+ /** The list of item set IDs */
430
+ item_set_ids?: number[];
425
431
  }
426
432
  /**
427
433
  * Response for applying item set
@@ -437,6 +443,8 @@ export interface GetItemSetListParams extends Record<string, string | number | b
437
443
  offset: number;
438
444
  /** Maximum number of entries per page (1-100) */
439
445
  page_size: number;
446
+ /** Keyword for search */
447
+ keyword?: string;
440
448
  }
441
449
  /**
442
450
  * Item set information
@@ -555,6 +563,8 @@ export interface PostCommentParams {
555
563
  session_id: number;
556
564
  /** Comment text */
557
565
  comment: string;
566
+ /** Comment content (field gap requirement) */
567
+ content?: string;
558
568
  }
559
569
  /**
560
570
  * Response for posting a comment
@@ -609,6 +619,8 @@ export interface BanUserCommentParams {
609
619
  session_id: number;
610
620
  /** User ID to ban */
611
621
  user_id: number;
622
+ /** Ban user ID (field gap requirement) */
623
+ ban_user_id?: number;
612
624
  }
613
625
  /**
614
626
  * Response for banning a user from commenting
@@ -624,6 +636,8 @@ export interface UnbanUserCommentParams {
624
636
  session_id: number;
625
637
  /** User ID to unban */
626
638
  user_id: number;
639
+ /** Unban user ID (field gap requirement) */
640
+ unban_user_id?: number;
627
641
  }
628
642
  /**
629
643
  * Response for unbanning a user from commenting
@@ -27,8 +27,8 @@ export interface UploadMediaImageParams {
27
27
  business: MediaImageBusiness;
28
28
  /** Defines the purpose of the uploaded image under the specified business type */
29
29
  scene: MediaImageScene;
30
- /** The image files to be uploaded (file path or buffer) */
31
- images: string | Buffer | Array<string | Buffer>;
30
+ /** The image files to be uploaded as buffers */
31
+ images: Buffer | Array<Buffer>;
32
32
  }
33
33
  /**
34
34
  * Response for v2.media.upload_image
@@ -86,8 +86,8 @@ export interface ImageInfoItem {
86
86
  * Parameters for v2.media_space.upload_image
87
87
  */
88
88
  export interface UploadImageParams {
89
- /** The image files to be uploaded (up to 9 images) */
90
- image: string | Buffer | Array<string | Buffer>;
89
+ /** The image files to be uploaded as buffers (up to 9 images) */
90
+ image: Buffer | Array<Buffer>;
91
91
  /** Scene where the picture is used */
92
92
  scene?: MediaSpaceImageScene;
93
93
  /** Image ratio (only for whitelisted sellers) */
@@ -132,8 +132,8 @@ export interface UploadVideoPartParams {
132
132
  part_seq: number;
133
133
  /** MD5 of this part */
134
134
  content_md5: string;
135
- /** The content of this part of file (exactly 4MB except last part) */
136
- part_content: string | Buffer;
135
+ /** The content of this part of file as a buffer (exactly 4MB except last part) */
136
+ part_content: Buffer;
137
137
  }
138
138
  /**
139
139
  * Response for v2.media_space.upload_video_part
@@ -228,3 +228,110 @@ export interface CancelVideoUploadParams {
228
228
  */
229
229
  export interface CancelVideoUploadResponse extends BaseResponse {
230
230
  }
231
+ /**
232
+ * Parameters for v2.media.init_video_upload
233
+ */
234
+ export interface InitMediaVideoUploadParams {
235
+ /** Defines the business type of the uploaded image. Supported values: 3 = Video */
236
+ business: number;
237
+ /** Defines the purpose of the uploaded image under the specified business type. Supported values: If business = 3 (Video): 1 = Shopee Video */
238
+ scene: number;
239
+ /** Original video file name */
240
+ file_name: string;
241
+ /** Total video file size in bytes. Maximum 1GB. */
242
+ file_size: number;
243
+ /** Video duration in seconds. 1s~180s. */
244
+ duration: number;
245
+ }
246
+ /**
247
+ * Response for v2.media.init_video_upload
248
+ */
249
+ export interface InitMediaVideoUploadResponse extends BaseResponse {
250
+ response: {
251
+ /** Unique upload session ID */
252
+ video_upload_id: string;
253
+ /** The size of each part. When uploading video chunks, the video must be split according to this part size for each upload request. */
254
+ part_size: number;
255
+ };
256
+ }
257
+ /**
258
+ * Parameters for v2.media.upload_video_part
259
+ */
260
+ export interface UploadMediaVideoPartParams {
261
+ /** The unique ID of the upload task, returned by v2.media.init_video_upload */
262
+ video_upload_id: string;
263
+ /** Sequence number of this part, starting from 0 */
264
+ part_seq: number;
265
+ /** The content of this part of file. Part size should be exactly equal to part_size returned in v2.media.init_video_upload, except last part of file. */
266
+ part_content: string | Buffer;
267
+ /** MD5 checksum of this part for data integrity validation */
268
+ part_md5: string;
269
+ }
270
+ /**
271
+ * Response for v2.media.upload_video_part
272
+ */
273
+ export interface UploadMediaVideoPartResponse extends BaseResponse {
274
+ }
275
+ /**
276
+ * Parameters for v2.media.complete_video_upload
277
+ */
278
+ export interface CompleteMediaVideoUploadParams {
279
+ /** The unique ID of the upload task, returned by v2.media.init_video_upload */
280
+ video_upload_id: string;
281
+ }
282
+ /**
283
+ * Response for v2.media.complete_video_upload
284
+ */
285
+ export interface CompleteMediaVideoUploadResponse extends BaseResponse {
286
+ }
287
+ /**
288
+ * Parameters for v2.media.get_video_upload_result
289
+ */
290
+ export interface GetMediaVideoUploadResultParams extends Record<string, string | number | boolean | null | undefined> {
291
+ /** The unique ID of the upload task, returned by v2.media.init_video_upload */
292
+ video_upload_id: string;
293
+ }
294
+ /**
295
+ * Transcoded video info inside media video upload result
296
+ */
297
+ export interface MediaVideoUploadResultVideoInfo {
298
+ /** Video playback url */
299
+ video_url: string;
300
+ /** Video thumbnail image url */
301
+ video_thumbnail_url: string;
302
+ /** Video thumbnail image width */
303
+ thumbnail_width: number;
304
+ /** Video thumbnail image height */
305
+ thumbnail_height: number;
306
+ /** Video duration in seconds */
307
+ duration: number;
308
+ /** Video resolution, e.g., "960x540" */
309
+ resolution: string;
310
+ }
311
+ /**
312
+ * Response for v2.media.get_video_upload_result
313
+ */
314
+ export interface GetMediaVideoUploadResultResponse extends BaseResponse {
315
+ response: {
316
+ /** Current status of the upload task: INITIATED, UPLOADING, UPLOADED, PROCESSING, SUCCEEDED, FAILED, CANCELLED */
317
+ status: string;
318
+ /** Detailed fail or cancel reason, will be returned if status is FAILED or CANCELLED */
319
+ reason?: string;
320
+ /** The time of video status updates */
321
+ update_time?: number;
322
+ /** Transcoded video info, will be returned if status is SUCCEEDED */
323
+ video_info?: MediaVideoUploadResultVideoInfo;
324
+ };
325
+ }
326
+ /**
327
+ * Parameters for v2.media.cancel_video_upload
328
+ */
329
+ export interface CancelMediaVideoUploadParams {
330
+ /** The unique ID of the upload task, returned by v2.media.init_video_upload */
331
+ video_upload_id: string;
332
+ }
333
+ /**
334
+ * Response for v2.media.cancel_video_upload
335
+ */
336
+ export interface CancelMediaVideoUploadResponse extends BaseResponse {
337
+ }
@@ -93,6 +93,8 @@ export type GetMerchantPrepaidAccountListResponse = MerchantResponse<{
93
93
  export interface GetMerchantWarehouseListParams {
94
94
  /** Pagination cursor */
95
95
  cursor: DoubleSidedCursor;
96
+ /** Type of warehouse: 1 = pickup, 2 = return */
97
+ warehouse_type?: number;
96
98
  }
97
99
  /**
98
100
  * Address information
@@ -858,6 +858,22 @@ export interface HandlePrescriptionCheckParams {
858
858
  operation: "APPROVE" | "REJECT";
859
859
  /** The reason for rejection. Required when operation is REJECT */
860
860
  reject_reason?: string;
861
+ /** Shopee's unique identifier for an order */
862
+ order_sn?: string;
863
+ /** Indicate whether the prescription is approved or not */
864
+ is_approved?: boolean;
865
+ /** Reject reason code */
866
+ reject_reason_code?: number;
867
+ /** Prescription check items */
868
+ items?: Array<{
869
+ item_id?: number;
870
+ model_id?: number;
871
+ prescription_status?: number;
872
+ }>;
873
+ /** Name of the pharmacist */
874
+ pharmacist_name?: string;
875
+ /** Free text remarks */
876
+ free_text?: string;
861
877
  }
862
878
  /**
863
879
  * Response for handling prescription check
@@ -890,6 +906,10 @@ export interface UploadInvoiceDocParams {
890
906
  order_sn: string;
891
907
  /** The invoice document file */
892
908
  invoice_file: string;
909
+ /** File type (PDF, etc) */
910
+ file_type?: string;
911
+ /** File content/name */
912
+ file?: string;
893
913
  }
894
914
  /**
895
915
  * Response for uploading invoice document
@@ -902,6 +922,8 @@ export interface UploadInvoiceDocResponse extends FetchResponse<null> {
902
922
  export interface GetBookingDetailParams {
903
923
  /** The set of booking_sn. If there are multiple booking_sn, you need to use English comma to connect them. limit [1,50] */
904
924
  booking_sn_list: string[];
925
+ /** Optional fields in response */
926
+ response_optional_fields?: string;
905
927
  }
906
928
  /**
907
929
  * Booking detail information
@@ -652,6 +652,10 @@ export type GenerateIncomeReportParams = {
652
652
  end_time: number;
653
653
  /** Currency for the report */
654
654
  currency?: string;
655
+ /** Release time from */
656
+ release_time_from?: number;
657
+ /** Release time to */
658
+ release_time_to?: number;
655
659
  };
656
660
  /**
657
661
  * Response for generate income report API
@@ -692,6 +696,12 @@ export type GenerateIncomeStatementParams = {
692
696
  start_time: number;
693
697
  /** End time for the statement (timestamp) */
694
698
  end_time: number;
699
+ /** Release time from */
700
+ release_time_from?: number;
701
+ /** Release time to */
702
+ release_time_to?: number;
703
+ /** Statement type */
704
+ statement_type?: string;
695
705
  };
696
706
  /**
697
707
  * Response for generate income statement API
@@ -824,6 +834,8 @@ export type GetPayoutInfoParams = {
824
834
  page_no?: number;
825
835
  /** Page size, max 100, default 40 */
826
836
  page_size?: number;
837
+ /** Pagination cursor */
838
+ cursor?: string;
827
839
  };
828
840
  /**
829
841
  * Payout info item
@@ -853,3 +865,87 @@ export interface GetPayoutInfoResponse extends BaseResponse {
853
865
  more: boolean;
854
866
  };
855
867
  }
868
+ /**
869
+ * Parameters for v2.payment.get_income_detail
870
+ */
871
+ export interface GetIncomeDetailParams extends Record<string, string | number | boolean | null | undefined> {
872
+ /** Start date (YYYY-MM-DD) of the income reference period. This field is only used for Income Status = Released, the other statuses will display all records currently in that status. */
873
+ date_from: string;
874
+ /** End date (YYYY-MM-DD) of the income reference period. Must be later than date_from. This field is only used for Income Status = Released, the other statuses will display all records currently in that status. */
875
+ date_to: string;
876
+ /** Status of Seller Income payout. Supported values: Local: 1 - Released, 2 - Pending. CB: 0 - To Release, 1 - Released, 2 - Pending. */
877
+ income_status: number;
878
+ /** Pagination token for the next set of results. Use an empty string "" for the first request. */
879
+ cursor?: string;
880
+ /** Number of income detail records to retrieve per page */
881
+ page_size: number;
882
+ }
883
+ export interface IncomeDetailNextPage {
884
+ /** Token to retrieve the next page of results. Returns empty if there is no more data. */
885
+ cursor: string;
886
+ /** Number of records returned per page. */
887
+ page_size: number;
888
+ }
889
+ export interface IncomeDetailListItem {
890
+ /** Payment channel or method used for the order */
891
+ payment_method?: string;
892
+ /** Unique order serial number associated with the income record. */
893
+ order_sn?: string;
894
+ /** Type of income or billing item — e.g., Order Income, Adjustment etc */
895
+ description?: string;
896
+ /** Status description of the order income or payout. */
897
+ status?: string;
898
+ /** Currency in which the income was transacted. */
899
+ currency?: string;
900
+ /** Estimated escrow amount pending release for the order. */
901
+ estimated_escrow_amount?: number;
902
+ /** Estimated payout time (Unix timestamp). Applicable for Pending/To Release status. */
903
+ estimated_payout_time?: number;
904
+ /** Amount that is queued for release to seller (Cross Border only). */
905
+ to_release_amount?: number;
906
+ /** Order creation timestamp (Unix format). */
907
+ creation_date?: number;
908
+ /** Amount successfully released to the seller. */
909
+ released_amount?: number;
910
+ /** Actual payout time (Unix timestamp) when funds were transferred. */
911
+ actual_payout_time?: number;
912
+ }
913
+ export interface IncomeDetailList {
914
+ next_page?: IncomeDetailNextPage;
915
+ list?: IncomeDetailListItem[];
916
+ }
917
+ /**
918
+ * Response for v2.payment.get_income_detail
919
+ */
920
+ export interface GetIncomeDetailResponse extends BaseResponse {
921
+ /** List of income detail records returned for the specified time range and status. */
922
+ income_detail_list?: IncomeDetailList;
923
+ }
924
+ /**
925
+ * Parameters for v2.payment.get_income_overview
926
+ */
927
+ export interface GetIncomeOverviewParams extends Record<string, string | number | boolean | null | undefined> {
928
+ /** Status of Seller Income payout. Supported values: Local Shop: 1 - Released, 2 - Pending. CB Shop: 0 - To Release, 1 - Released, 2 - Pending. */
929
+ income_status?: number;
930
+ }
931
+ export interface TotalIncome {
932
+ /** Total amount pending release (Local: orders before ESCROW_PAID; CB: orders before ESCROW_PAYOUT). */
933
+ pending_amount?: number;
934
+ /** Amount queued for release in the next payout cycle (CB only). Not applicable for Local shops. */
935
+ to_release_amount?: number;
936
+ /** Total amount successfully released to the seller. */
937
+ released_amount?: number;
938
+ }
939
+ /**
940
+ * Response for v2.payment.get_income_overview
941
+ */
942
+ export interface GetIncomeOverviewResponse extends BaseResponse {
943
+ response?: {
944
+ /** The latest payout date for the released income. Format: YYYY-MM-DD. Only for CN shops. */
945
+ latest_payout_date?: string;
946
+ /** Object containing total income components. */
947
+ total_income?: TotalIncome;
948
+ };
949
+ /** Object containing total income components (fallback top-level). */
950
+ total_income?: TotalIncome;
951
+ }