@congminh1254/shopee-sdk 0.9.0 → 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 (137) hide show
  1. package/README.md +178 -36
  2. package/lib/fetch.js +13 -0
  3. package/lib/fetch.js.map +1 -1
  4. package/lib/managers/add-on-deal.manager.d.ts +140 -0
  5. package/lib/managers/add-on-deal.manager.js +240 -0
  6. package/lib/managers/add-on-deal.manager.js.map +1 -0
  7. package/lib/managers/ads.manager.d.ts +217 -1
  8. package/lib/managers/ads.manager.js +312 -0
  9. package/lib/managers/ads.manager.js.map +1 -1
  10. package/lib/managers/bundle-deal.manager.d.ts +106 -0
  11. package/lib/managers/bundle-deal.manager.js +178 -0
  12. package/lib/managers/bundle-deal.manager.js.map +1 -0
  13. package/lib/managers/discount.manager.d.ts +102 -0
  14. package/lib/managers/discount.manager.js +167 -0
  15. package/lib/managers/discount.manager.js.map +1 -0
  16. package/lib/managers/fbs.manager.d.ts +115 -0
  17. package/lib/managers/fbs.manager.js +145 -0
  18. package/lib/managers/fbs.manager.js.map +1 -0
  19. package/lib/managers/first-mile.manager.d.ts +150 -0
  20. package/lib/managers/first-mile.manager.js +264 -0
  21. package/lib/managers/first-mile.manager.js.map +1 -0
  22. package/lib/managers/follow-prize.manager.d.ts +108 -0
  23. package/lib/managers/follow-prize.manager.js +152 -0
  24. package/lib/managers/follow-prize.manager.js.map +1 -0
  25. package/lib/managers/global-product.manager.d.ts +664 -0
  26. package/lib/managers/global-product.manager.js +904 -0
  27. package/lib/managers/global-product.manager.js.map +1 -0
  28. package/lib/managers/index.d.ts +17 -1
  29. package/lib/managers/index.js +17 -1
  30. package/lib/managers/index.js.map +1 -1
  31. package/lib/managers/livestream.manager.d.ts +377 -0
  32. package/lib/managers/livestream.manager.js +529 -0
  33. package/lib/managers/livestream.manager.js.map +1 -0
  34. package/lib/managers/logistics.manager.d.ts +267 -1
  35. package/lib/managers/logistics.manager.js +544 -0
  36. package/lib/managers/logistics.manager.js.map +1 -1
  37. package/lib/managers/media-space.manager.d.ts +179 -0
  38. package/lib/managers/media-space.manager.js +220 -0
  39. package/lib/managers/media-space.manager.js.map +1 -0
  40. package/lib/managers/media.manager.d.ts +226 -0
  41. package/lib/managers/media.manager.js +274 -0
  42. package/lib/managers/media.manager.js.map +1 -0
  43. package/lib/managers/merchant.manager.d.ts +100 -0
  44. package/lib/managers/merchant.manager.js +144 -0
  45. package/lib/managers/merchant.manager.js.map +1 -0
  46. package/lib/managers/order.manager.d.ts +213 -1
  47. package/lib/managers/order.manager.js +305 -0
  48. package/lib/managers/order.manager.js.map +1 -1
  49. package/lib/managers/payment.manager.d.ts +186 -1
  50. package/lib/managers/payment.manager.js +288 -0
  51. package/lib/managers/payment.manager.js.map +1 -1
  52. package/lib/managers/product.manager.d.ts +346 -1
  53. package/lib/managers/product.manager.js +718 -0
  54. package/lib/managers/product.manager.js.map +1 -1
  55. package/lib/managers/returns.manager.d.ts +200 -0
  56. package/lib/managers/returns.manager.js +300 -0
  57. package/lib/managers/returns.manager.js.map +1 -0
  58. package/lib/managers/sbs.manager.d.ts +112 -0
  59. package/lib/managers/sbs.manager.js +149 -0
  60. package/lib/managers/sbs.manager.js.map +1 -0
  61. package/lib/managers/shop-category.manager.d.ts +207 -0
  62. package/lib/managers/shop-category.manager.js +258 -0
  63. package/lib/managers/shop-category.manager.js.map +1 -0
  64. package/lib/managers/shop-flash-sale.manager.d.ts +242 -0
  65. package/lib/managers/shop-flash-sale.manager.js +321 -0
  66. package/lib/managers/shop-flash-sale.manager.js.map +1 -0
  67. package/lib/managers/shop.manager.d.ts +173 -0
  68. package/lib/managers/shop.manager.js +217 -0
  69. package/lib/managers/shop.manager.js.map +1 -0
  70. package/lib/managers/top-picks.manager.d.ts +62 -0
  71. package/lib/managers/top-picks.manager.js +91 -0
  72. package/lib/managers/top-picks.manager.js.map +1 -0
  73. package/lib/schemas/add-on-deal.d.ts +390 -0
  74. package/lib/schemas/add-on-deal.js +45 -0
  75. package/lib/schemas/add-on-deal.js.map +1 -0
  76. package/lib/schemas/ads.d.ts +437 -0
  77. package/lib/schemas/bundle-deal.d.ts +300 -0
  78. package/lib/schemas/bundle-deal.js +27 -0
  79. package/lib/schemas/bundle-deal.js.map +1 -0
  80. package/lib/schemas/discount.d.ts +334 -0
  81. package/lib/schemas/discount.js +15 -0
  82. package/lib/schemas/discount.js.map +1 -0
  83. package/lib/schemas/fbs.d.ts +117 -0
  84. package/lib/schemas/fbs.js +2 -0
  85. package/lib/schemas/fbs.js.map +1 -0
  86. package/lib/schemas/first-mile.d.ts +551 -0
  87. package/lib/schemas/first-mile.js +2 -0
  88. package/lib/schemas/first-mile.js.map +1 -0
  89. package/lib/schemas/follow-prize.d.ts +198 -0
  90. package/lib/schemas/follow-prize.js +27 -0
  91. package/lib/schemas/follow-prize.js.map +1 -0
  92. package/lib/schemas/global-product.d.ts +1127 -0
  93. package/lib/schemas/global-product.js +2 -0
  94. package/lib/schemas/global-product.js.map +1 -0
  95. package/lib/schemas/index.d.ts +13 -0
  96. package/lib/schemas/index.js +17 -0
  97. package/lib/schemas/index.js.map +1 -1
  98. package/lib/schemas/livestream.d.ts +649 -0
  99. package/lib/schemas/livestream.js +2 -0
  100. package/lib/schemas/livestream.js.map +1 -0
  101. package/lib/schemas/logistics.d.ts +979 -0
  102. package/lib/schemas/logistics.js +13 -0
  103. package/lib/schemas/logistics.js.map +1 -1
  104. package/lib/schemas/media-space.d.ts +189 -0
  105. package/lib/schemas/media-space.js +2 -0
  106. package/lib/schemas/media-space.js.map +1 -0
  107. package/lib/schemas/media.d.ts +230 -0
  108. package/lib/schemas/media.js +2 -0
  109. package/lib/schemas/media.js.map +1 -0
  110. package/lib/schemas/merchant.d.ts +236 -0
  111. package/lib/schemas/merchant.js +2 -0
  112. package/lib/schemas/merchant.js.map +1 -0
  113. package/lib/schemas/order.d.ts +431 -0
  114. package/lib/schemas/payment.d.ts +397 -0
  115. package/lib/schemas/product.d.ts +1157 -0
  116. package/lib/schemas/returns.d.ts +632 -0
  117. package/lib/schemas/returns.js +63 -0
  118. package/lib/schemas/returns.js.map +1 -0
  119. package/lib/schemas/sbs.d.ts +484 -0
  120. package/lib/schemas/sbs.js +2 -0
  121. package/lib/schemas/sbs.js.map +1 -0
  122. package/lib/schemas/shop-category.d.ts +176 -0
  123. package/lib/schemas/shop-category.js +2 -0
  124. package/lib/schemas/shop-category.js.map +1 -0
  125. package/lib/schemas/shop-flash-sale.d.ts +473 -0
  126. package/lib/schemas/shop-flash-sale.js +43 -0
  127. package/lib/schemas/shop-flash-sale.js.map +1 -0
  128. package/lib/schemas/shop.d.ts +250 -0
  129. package/lib/schemas/shop.js +2 -0
  130. package/lib/schemas/shop.js.map +1 -0
  131. package/lib/schemas/top-picks.d.ts +99 -0
  132. package/lib/schemas/top-picks.js +2 -0
  133. package/lib/schemas/top-picks.js.map +1 -0
  134. package/lib/sdk.d.ts +34 -0
  135. package/lib/sdk.js +34 -0
  136. package/lib/sdk.js.map +1 -1
  137. package/package.json +7 -4
@@ -0,0 +1,152 @@
1
+ import { BaseManager } from "./base.manager.js";
2
+ import { ShopeeFetch } from "../fetch.js";
3
+ export class FollowPrizeManager extends BaseManager {
4
+ constructor(config) {
5
+ super(config);
6
+ }
7
+ /**
8
+ * Add a new follow prize activity
9
+ * @param {AddFollowPrizeParams} params - Parameters for creating a new follow prize
10
+ * @returns {Promise<AddFollowPrizeResponse>} The response containing the created follow prize ID
11
+ *
12
+ * The follow prize allows shops to reward followers with vouchers when they follow the shop.
13
+ *
14
+ * @throws {Error} When the API request fails or returns an error
15
+ * - follow_prize.campaign_num_max_limit: Max number of follow prizes reached (1000 ongoing and upcoming)
16
+ * - follow_prize.campaign_overlap: Another follow prize already exists during this time period
17
+ * - follow_prize.name_length_limit: Please input up to 20 characters
18
+ * - follow_prize.percentage_RANGE: Please enter a value between 1 and 99
19
+ * - follow_prize.end_time_min_limit: End time must be at least 1 day after start time
20
+ * - follow_prize.quota_out_range: Please enter a value between 1 and 200000
21
+ * - follow_prize.start_time_min_limit: Start time must be later than current time
22
+ * - follow_prize.time_future_limit: Start/end time should not exceed 2037-12-31 23:59:59
23
+ */
24
+ async addFollowPrize(params) {
25
+ const response = await ShopeeFetch.fetch(this.config, "/follow_prize/add_follow_prize", {
26
+ method: "POST",
27
+ auth: true,
28
+ body: params,
29
+ });
30
+ return response;
31
+ }
32
+ /**
33
+ * Delete an existing follow prize activity
34
+ * @param {DeleteFollowPrizeParams} params - Parameters for deleting a follow prize
35
+ * @returns {Promise<DeleteFollowPrizeResponse>} The response containing the deleted follow prize ID
36
+ *
37
+ * @throws {Error} When the API request fails or returns an error
38
+ * - follow_prize.campaign_none: The promotion id does not exist
39
+ * - follow_prize.delete_type: Only upcoming promotions can be deleted
40
+ */
41
+ async deleteFollowPrize(params) {
42
+ const response = await ShopeeFetch.fetch(this.config, "/follow_prize/delete_follow_prize", {
43
+ method: "POST",
44
+ auth: true,
45
+ body: params,
46
+ });
47
+ return response;
48
+ }
49
+ /**
50
+ * End an ongoing follow prize activity immediately
51
+ * @param {EndFollowPrizeParams} params - Parameters for ending a follow prize
52
+ * @returns {Promise<EndFollowPrizeResponse>} The response containing the ended follow prize ID
53
+ *
54
+ * @throws {Error} When the API request fails or returns an error
55
+ * - follow_prize.campaign_none: The promotion id does not exist
56
+ * - follow_prize.end_type: Only ongoing follow prizes can be ended
57
+ */
58
+ async endFollowPrize(params) {
59
+ const response = await ShopeeFetch.fetch(this.config, "/follow_prize/end_follow_prize", {
60
+ method: "POST",
61
+ auth: true,
62
+ body: params,
63
+ });
64
+ return response;
65
+ }
66
+ /**
67
+ * Get detailed information about a follow prize activity
68
+ * @param {GetFollowPrizeDetailParams} params - Parameters for getting follow prize details
69
+ * @returns {Promise<GetFollowPrizeDetailResponse>} The response containing comprehensive follow prize information
70
+ *
71
+ * The response includes:
72
+ * - campaign_status: The status of the follow prize (upcoming/ongoing/expired)
73
+ * - campaign_id: The unique identifier for the follow prize
74
+ * - follow_prize_name: The name of the follow prize
75
+ * - start_time: When the follow prize becomes valid
76
+ * - end_time: When the follow prize expires
77
+ * - usage_quantity: The total quantity available
78
+ * - min_spend: Minimum basket price required
79
+ * - reward_type: Type of reward (1: fix amount, 2: percentage, 3: coin cash back)
80
+ * - discount_amount/percentage/max_price: Reward details based on reward_type
81
+ *
82
+ * @throws {Error} When the API request fails or returns an error
83
+ * - follow_prize.campaign_none: The promotion id does not exist
84
+ */
85
+ async getFollowPrizeDetail(params) {
86
+ const response = await ShopeeFetch.fetch(this.config, "/follow_prize/get_follow_prize_detail", {
87
+ method: "GET",
88
+ auth: true,
89
+ params,
90
+ });
91
+ return response;
92
+ }
93
+ /**
94
+ * Get a list of follow prize activities with pagination
95
+ * @param {GetFollowPrizeListParams} params - Parameters for retrieving follow prize list
96
+ * @param {FollowPrizeStatus} params.status - Filter by follow prize status (upcoming/ongoing/expired/all)
97
+ * @param {number} [params.page_no] - Page number to retrieve (default: 1)
98
+ * @param {number} [params.page_size] - Number of items per page (default: 20, max: 100)
99
+ * @returns {Promise<GetFollowPrizeListResponse>} The response containing a paginated list of follow prizes
100
+ *
101
+ * The response includes:
102
+ * - more: Boolean indicating if there are more pages
103
+ * - follow_prize_list: Array of follow prize information containing:
104
+ * - campaign_id: The unique identifier
105
+ * - campaign_status: Current status
106
+ * - follow_prize_name: Name of the follow prize
107
+ * - start_time/end_time: Validity period
108
+ * - usage_quantity: Total quantity
109
+ * - claimed: Quantity already claimed
110
+ */
111
+ async getFollowPrizeList(params) {
112
+ const response = await ShopeeFetch.fetch(this.config, "/follow_prize/get_follow_prize_list", {
113
+ method: "GET",
114
+ auth: true,
115
+ params,
116
+ });
117
+ return response;
118
+ }
119
+ /**
120
+ * Update an existing follow prize activity
121
+ * @param {UpdateFollowPrizeParams} params - Parameters for updating a follow prize
122
+ * @returns {Promise<UpdateFollowPrizeResponse>} The response containing the updated follow prize ID
123
+ *
124
+ * Update restrictions:
125
+ * - Cannot rename ongoing follow prizes
126
+ * - Cannot update minimum basket price for ongoing follow prizes
127
+ * - Cannot update start time for ongoing follow prizes
128
+ * - Start time can only be changed to a later timing (for upcoming)
129
+ * - End time can only be changed to an earlier timing
130
+ * - Cannot reduce dispatch quantity
131
+ * - Cannot update expired follow prizes
132
+ *
133
+ * @throws {Error} When the API request fails or returns an error
134
+ * - follow_prize.campaign_none: The promotion id does not exist
135
+ * - follow_prize.update_expired_campaign: Cannot update expired follow prizes
136
+ * - follow_prize.update_prize_name_ongoing: Cannot rename ongoing follow prizes
137
+ * - follow_prize.update_min_spend_ongoing: Cannot update minimum basket price for ongoing
138
+ * - follow_prize.update_start_time_ongoing: Cannot update start time for ongoing
139
+ * - follow_prize.update_start_time_earlier: Start time can only be changed to later
140
+ * - follow_prize.update_end_time_later: End time can only be changed to earlier
141
+ * - follow_prize.update_quantity_reduce: Cannot reduce dispatch quantity
142
+ */
143
+ async updateFollowPrize(params) {
144
+ const response = await ShopeeFetch.fetch(this.config, "/follow_prize/update_follow_prize", {
145
+ method: "POST",
146
+ auth: true,
147
+ body: params,
148
+ });
149
+ return response;
150
+ }
151
+ }
152
+ //# sourceMappingURL=follow-prize.manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"follow-prize.manager.js","sourceRoot":"","sources":["../../src/managers/follow-prize.manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAehD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IACjD,YAAY,MAAoB;QAC9B,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,cAAc,CAAC,MAA4B;QAC/C,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,CACtC,IAAI,CAAC,MAAM,EACX,gCAAgC,EAChC;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,MAAM;SACb,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAA+B;QACrD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,CACtC,IAAI,CAAC,MAAM,EACX,mCAAmC,EACnC;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,MAAM;SACb,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,cAAc,CAAC,MAA4B;QAC/C,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,CACtC,IAAI,CAAC,MAAM,EACX,gCAAgC,EAChC;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,MAAM;SACb,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,oBAAoB,CACxB,MAAkC;QAElC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,CACtC,IAAI,CAAC,MAAM,EACX,uCAAuC,EACvC;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI;YACV,MAAM;SACP,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,kBAAkB,CAAC,MAAgC;QACvD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,CACtC,IAAI,CAAC,MAAM,EACX,qCAAqC,EACrC;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI;YACV,MAAM;SACP,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAA+B;QACrD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,CACtC,IAAI,CAAC,MAAM,EACX,mCAAmC,EACnC;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,MAAM;SACb,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}