@congminh1254/shopee-sdk 0.4.0 → 0.5.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.
@@ -1,6 +1,6 @@
1
1
  import { ShopeeConfig } from "../sdk.js";
2
2
  import { BaseManager } from "./base.manager.js";
3
- import { GetTotalBalanceResponse, GetShopToggleInfoResponse, GetRecommendedKeywordListParams, GetRecommendedKeywordListResponse } from "../schemas/ads.js";
3
+ import { GetTotalBalanceResponse, GetShopToggleInfoResponse, GetRecommendedKeywordListParams, GetRecommendedKeywordListResponse, GetRecommendedItemListResponse, GetAllCpcAdsHourlyPerformanceParams, GetAllCpcAdsHourlyPerformanceResponse, GetAllCpcAdsDailyPerformanceParams, GetAllCpcAdsDailyPerformanceResponse, GetProductCampaignDailyPerformanceParams, GetProductCampaignDailyPerformanceResponse, GetProductCampaignHourlyPerformanceParams, GetProductCampaignHourlyPerformanceResponse, GetProductLevelCampaignIdListParams, GetProductLevelCampaignIdListResponse, GetProductLevelCampaignSettingInfoParams, GetProductLevelCampaignSettingInfoResponse, GetProductRecommendedRoiTargetParams, GetProductRecommendedRoiTargetResponse } from "../schemas/ads.js";
4
4
  export declare class AdsManager extends BaseManager {
5
5
  constructor(config: ShopeeConfig);
6
6
  /**
@@ -50,4 +50,224 @@ export declare class AdsManager extends BaseManager {
50
50
  * Use this API to get keyword suggestions to improve item discoverability in search results.
51
51
  */
52
52
  getRecommendedKeywordList(params: GetRecommendedKeywordListParams): Promise<GetRecommendedKeywordListResponse>;
53
+ /**
54
+ * Get the list of recommended SKUs (Shop level) with the corresponding tag
55
+ * @returns {Promise<GetRecommendedItemListResponse>} Response containing recommended items
56
+ *
57
+ * This API is used to get the list of recommended SKU (Shop level) with the corresponding tag,
58
+ * i.e top search/best selling/best ROI tag.
59
+ *
60
+ * The response includes an array of items with the following details for each item:
61
+ * - item_id: Recommended SKU's item id
62
+ * - item_status_list: Status of items (indicates whether an item is eligible for ads or not)
63
+ * - sku_tag_list: Tags such as "best selling", "best ROI", "top search"
64
+ * - ongoing_ad_type_list: Current status of ads on this item (e.g., search ads, discovery ads)
65
+ *
66
+ * Use this API to identify high-potential items for advertising campaigns.
67
+ */
68
+ getRecommendedItemList(): Promise<GetRecommendedItemListResponse>;
69
+ /**
70
+ * Get shop level CPC ads single-date hourly performance data
71
+ * @param {GetAllCpcAdsHourlyPerformanceParams} params Request parameters
72
+ * @param {string} params.performance_date Single date for hourly performance data in DD-MM-YYYY format
73
+ * @returns {Promise<GetAllCpcAdsHourlyPerformanceResponse>} Response containing hourly performance metrics
74
+ *
75
+ * This API is used to get Shop level CPC ads single-date hourly performance.
76
+ * The date must be today or earlier than today (up to 6 months ago).
77
+ *
78
+ * The response includes an array of hourly performance metrics with the following details for each hour:
79
+ * - hour: The hour the performance record belongs to
80
+ * - date: The date the performance record belongs to
81
+ * - impression: Number of times buyers see ads
82
+ * - clicks: Total number of clicks on the ad
83
+ * - ctr: Click-through rate (Clicks / Impressions)
84
+ * - direct_order: Orders placed within 7 days after clicking on the clicked ad
85
+ * - broad_order: Orders placed within 7 days after clicking on any ad from the same shop
86
+ * - direct_conversions: Direct conversion rate (clicked ad orders / total clicks)
87
+ * - broad_conversions: Broad conversion rate (any shop orders / total clicks)
88
+ * - direct_item_sold: Items sold from the clicked ad
89
+ * - broad_item_sold: Items sold from the shop after any ad click
90
+ * - direct_gmv: Total sales from the clicked ad
91
+ * - broad_gmv: Total sales from the shop after any ad click
92
+ * - expense: Ad expenditure
93
+ * - cost_per_conversion: Average cost per sales conversion
94
+ * - direct_roas: Direct return on ad spend (direct GMV / expense)
95
+ * - broad_roas: Broad return on ad spend (broad GMV / expense)
96
+ *
97
+ * Use this API to analyze hourly ad performance patterns for optimization.
98
+ */
99
+ getAllCpcAdsHourlyPerformance(params: GetAllCpcAdsHourlyPerformanceParams): Promise<GetAllCpcAdsHourlyPerformanceResponse>;
100
+ /**
101
+ * Get shop level CPC ads daily performance data for a date range
102
+ * @param {GetAllCpcAdsDailyPerformanceParams} params Request parameters
103
+ * @param {string} params.start_date Start date of the performance data range in DD-MM-YYYY format
104
+ * @param {string} params.end_date End date of the performance data range in DD-MM-YYYY format
105
+ * @returns {Promise<GetAllCpcAdsDailyPerformanceResponse>} Response containing daily performance metrics
106
+ *
107
+ * This API is used to get Shop level CPC ads multiple-days daily performance.
108
+ * The date range must be today or earlier than today (up to 6 months ago), and cannot exceed 1 month.
109
+ * Start date must be earlier than end date and cannot be equal to end date.
110
+ *
111
+ * The response includes an array of daily performance metrics with the following details for each day:
112
+ * - date: The date the performance record belongs to
113
+ * - impression: Number of times buyers see ads
114
+ * - clicks: Total number of clicks on the ad
115
+ * - ctr: Click-through rate (Clicks / Impressions)
116
+ * - direct_order: Orders placed within 7 days after clicking on the clicked ad
117
+ * - broad_order: Orders placed within 7 days after clicking on any ad from the same shop
118
+ * - direct_conversions: Direct conversion rate (clicked ad orders / total clicks)
119
+ * - broad_conversions: Broad conversion rate (any shop orders / total clicks)
120
+ * - direct_item_sold: Items sold from the clicked ad
121
+ * - broad_item_sold: Items sold from the shop after any ad click
122
+ * - direct_gmv: Total sales from the clicked ad
123
+ * - broad_gmv: Total sales from the shop after any ad click
124
+ * - expense: Ad expenditure
125
+ * - cost_per_conversion: Average cost per sales conversion
126
+ * - direct_roas: Direct return on ad spend (direct GMV / expense)
127
+ * - broad_roas: Broad return on ad spend (broad GMV / expense)
128
+ *
129
+ * Use this API to analyze daily ad performance trends over a time period.
130
+ */
131
+ getAllCpcAdsDailyPerformance(params: GetAllCpcAdsDailyPerformanceParams): Promise<GetAllCpcAdsDailyPerformanceResponse>;
132
+ /**
133
+ * Get product-level campaign performance data for a date range
134
+ * @param {GetProductCampaignDailyPerformanceParams} params Request parameters
135
+ * @param {string} params.start_date Start date of the performance data range in DD-MM-YYYY format
136
+ * @param {string} params.end_date End date of the performance data range in DD-MM-YYYY format
137
+ * @param {string} params.campaign_id_list Comma-separated list of campaign IDs to fetch performance for (max 100)
138
+ * @returns {Promise<GetProductCampaignDailyPerformanceResponse>} Response containing detailed campaign performance metrics
139
+ *
140
+ * This API is used to get product-level ads performance data across multiple days.
141
+ * The date range must be today or earlier than today (up to 6 months ago), and cannot exceed 1 month.
142
+ * Start date must be earlier than end date and cannot be equal to end date.
143
+ *
144
+ * The response is structured hierarchically with:
145
+ * - shop_id and region information
146
+ * - Detailed campaign list with campaign_id, ad_type, campaign_placement, and ad_name
147
+ * - Comprehensive daily metrics for each campaign including:
148
+ * - Impressions, clicks, and CTR
149
+ * - Expense (ad spend)
150
+ * - Direct and broad performance metrics (orders, GMV, ROI)
151
+ * - Conversion rates and cost efficiency metrics
152
+ *
153
+ * Direct metrics refer to performance of the advertised product specifically, while
154
+ * broad metrics account for any purchases from the shop after an ad click.
155
+ *
156
+ * Use this API to analyze campaign effectiveness at the product level and optimize
157
+ * your advertising strategy based on detailed performance data.
158
+ */
159
+ getProductCampaignDailyPerformance(params: GetProductCampaignDailyPerformanceParams): Promise<GetProductCampaignDailyPerformanceResponse>;
160
+ /**
161
+ * Get product-level campaign hourly performance data for a single day
162
+ * @param {GetProductCampaignHourlyPerformanceParams} params Request parameters
163
+ * @param {string} params.performance_date Single date for the hourly performance data in DD-MM-YYYY format
164
+ * @param {string} params.campaign_id_list Comma-separated list of campaign IDs to fetch performance for (max 100)
165
+ * @returns {Promise<GetProductCampaignHourlyPerformanceResponse>} Response containing detailed hourly campaign performance metrics
166
+ *
167
+ * This API is used to get product-level ads hourly performance data for a single day.
168
+ * The date must be today or earlier than today (up to 6 months ago).
169
+ *
170
+ * The response is structured hierarchically with:
171
+ * - shop_id and region information
172
+ * - Detailed campaign list with campaign_id, ad_type, campaign_placement, and ad_name
173
+ * - Comprehensive hourly metrics for each campaign including:
174
+ * - Hour the performance record belongs to
175
+ * - Impressions, clicks, and CTR
176
+ * - Expense (ad spend)
177
+ * - Direct and broad performance metrics (orders, GMV, ROI)
178
+ * - Conversion rates and cost efficiency metrics
179
+ *
180
+ * Direct metrics refer to performance of the advertised product specifically, while
181
+ * broad metrics account for any purchases from the shop after an ad click.
182
+ *
183
+ * Use this API to analyze hourly campaign patterns and performance fluctuations
184
+ * throughout the day to optimize timing of ad campaigns and budget allocation.
185
+ */
186
+ getProductCampaignHourlyPerformance(params: GetProductCampaignHourlyPerformanceParams): Promise<GetProductCampaignHourlyPerformanceResponse>;
187
+ /**
188
+ * Get a list of all product-level campaign IDs for a shop
189
+ * @param {GetProductLevelCampaignIdListParams} [params] Optional request parameters
190
+ * @param {string} [params.ad_type] Filter campaigns by ad type (can be "", "all", "auto", or "manual")
191
+ * @param {number} [params.offset] Pagination offset for fetching subsequent pages
192
+ * @param {number} [params.limit] Page size limit (number of results to return)
193
+ * @returns {Promise<GetProductLevelCampaignIdListResponse>} Response containing campaign IDs and pagination info
194
+ *
195
+ * This API is used to fetch all product campaign IDs displayed on the advertiser platform
196
+ * for a specific shop. The results can be filtered by ad type and paginated using
197
+ * offset and limit parameters.
198
+ *
199
+ * The response contains:
200
+ * - shop_id: The unique identifier for the shop
201
+ * - region: The region where the shop is located
202
+ * - has_next_page: Indicates if there are more campaigns on the next page
203
+ * - campaign_list: List of campaigns with ad_type and campaign_id
204
+ *
205
+ * Use this API to retrieve campaign IDs that can then be used with other APIs
206
+ * like getProductCampaignDailyPerformance or getProductCampaignHourlyPerformance
207
+ * to fetch detailed performance metrics.
208
+ */
209
+ getProductLevelCampaignIdList(params?: GetProductLevelCampaignIdListParams): Promise<GetProductLevelCampaignIdListResponse>;
210
+ /**
211
+ * Get detailed settings information for product-level campaigns
212
+ * @param {GetProductLevelCampaignSettingInfoParams} params Request parameters
213
+ * @param {string} params.info_type_list Comma-separated list of info types to retrieve (1: Common Info, 2: Manual Bidding Info, 3: Auto Bidding Info, 4: Auto Product Ads Info)
214
+ * @param {string} params.campaign_id_list Comma-separated list of campaign IDs to fetch settings for (max 100)
215
+ * @returns {Promise<GetProductLevelCampaignSettingInfoResponse>} Response containing detailed campaign settings
216
+ *
217
+ * This API is used to retrieve detailed configuration settings for product-level ad campaigns.
218
+ * Depending on the info_type_list parameter, different types of information will be returned:
219
+ *
220
+ * Info type 1 (Common Info) includes:
221
+ * - Ad type (auto or manual)
222
+ * - Ad name and status
223
+ * - Bidding method and placement
224
+ * - Campaign budget and duration
225
+ * - List of item IDs in the campaign
226
+ *
227
+ * Info type 2 (Manual Bidding Info) includes:
228
+ * - Enhanced CPC setting
229
+ * - Selected keywords with match types and bid prices
230
+ * - Discovery ads placement settings
231
+ *
232
+ * Info type 3 (Auto Bidding Info) includes:
233
+ * - ROAS (Return on Ad Spend) target
234
+ *
235
+ * Info type 4 (Auto Product Ads Info) includes:
236
+ * - Product name and status
237
+ * - Item IDs
238
+ *
239
+ * Use this API to analyze and understand the detailed settings of your ad campaigns,
240
+ * which can help with optimization and decision-making for future campaign management.
241
+ */
242
+ getProductLevelCampaignSettingInfo(params: GetProductLevelCampaignSettingInfoParams): Promise<GetProductLevelCampaignSettingInfoResponse>;
243
+ /**
244
+ * Get recommended ROI target values for a product's ad campaign
245
+ * @param {GetProductRecommendedRoiTargetParams} params Request parameters
246
+ * @param {string} params.reference_id A random string used to prevent duplicate ads
247
+ * @param {number} params.item_id Unique identifier for a product
248
+ * @returns {Promise<GetProductRecommendedRoiTargetResponse>} Response containing recommended ROI targets
249
+ *
250
+ * This API is used to get recommended Return on Investment (ROI) target values for
251
+ * a product's ad campaign. These recommendations help sellers set competitive ROI
252
+ * targets for their advertising campaigns.
253
+ *
254
+ * The response includes three recommendation levels:
255
+ *
256
+ * - Lower bound: A more competitive target (e.g., value=3.5, percentile=80) that makes
257
+ * the ad more competitive than 80% of similar ads.
258
+ *
259
+ * - Exact (mid-level): A balanced target (e.g., value=5.9, percentile=50) that makes
260
+ * the ad more competitive than 50% of similar ads.
261
+ *
262
+ * - Upper bound: A less competitive target (e.g., value=10.8, percentile=20) that makes
263
+ * the ad more competitive than 20% of similar ads.
264
+ *
265
+ * Each recommendation includes:
266
+ * - value: The recommended ROI target value
267
+ * - percentile: Indicates how competitive this target is compared to similar ads
268
+ *
269
+ * Use this API to help determine optimal ROI targets for your advertising strategy
270
+ * based on competitive marketplace data.
271
+ */
272
+ getProductRecommendedRoiTarget(params: GetProductRecommendedRoiTargetParams): Promise<GetProductRecommendedRoiTargetResponse>;
53
273
  }
@@ -70,5 +70,280 @@ export class AdsManager extends BaseManager {
70
70
  });
71
71
  return response;
72
72
  }
73
+ /**
74
+ * Get the list of recommended SKUs (Shop level) with the corresponding tag
75
+ * @returns {Promise<GetRecommendedItemListResponse>} Response containing recommended items
76
+ *
77
+ * This API is used to get the list of recommended SKU (Shop level) with the corresponding tag,
78
+ * i.e top search/best selling/best ROI tag.
79
+ *
80
+ * The response includes an array of items with the following details for each item:
81
+ * - item_id: Recommended SKU's item id
82
+ * - item_status_list: Status of items (indicates whether an item is eligible for ads or not)
83
+ * - sku_tag_list: Tags such as "best selling", "best ROI", "top search"
84
+ * - ongoing_ad_type_list: Current status of ads on this item (e.g., search ads, discovery ads)
85
+ *
86
+ * Use this API to identify high-potential items for advertising campaigns.
87
+ */
88
+ async getRecommendedItemList() {
89
+ const response = await ShopeeFetch.fetch(this.config, '/ads/get_recommended_item_list', {
90
+ method: 'GET',
91
+ auth: true,
92
+ });
93
+ return response;
94
+ }
95
+ /**
96
+ * Get shop level CPC ads single-date hourly performance data
97
+ * @param {GetAllCpcAdsHourlyPerformanceParams} params Request parameters
98
+ * @param {string} params.performance_date Single date for hourly performance data in DD-MM-YYYY format
99
+ * @returns {Promise<GetAllCpcAdsHourlyPerformanceResponse>} Response containing hourly performance metrics
100
+ *
101
+ * This API is used to get Shop level CPC ads single-date hourly performance.
102
+ * The date must be today or earlier than today (up to 6 months ago).
103
+ *
104
+ * The response includes an array of hourly performance metrics with the following details for each hour:
105
+ * - hour: The hour the performance record belongs to
106
+ * - date: The date the performance record belongs to
107
+ * - impression: Number of times buyers see ads
108
+ * - clicks: Total number of clicks on the ad
109
+ * - ctr: Click-through rate (Clicks / Impressions)
110
+ * - direct_order: Orders placed within 7 days after clicking on the clicked ad
111
+ * - broad_order: Orders placed within 7 days after clicking on any ad from the same shop
112
+ * - direct_conversions: Direct conversion rate (clicked ad orders / total clicks)
113
+ * - broad_conversions: Broad conversion rate (any shop orders / total clicks)
114
+ * - direct_item_sold: Items sold from the clicked ad
115
+ * - broad_item_sold: Items sold from the shop after any ad click
116
+ * - direct_gmv: Total sales from the clicked ad
117
+ * - broad_gmv: Total sales from the shop after any ad click
118
+ * - expense: Ad expenditure
119
+ * - cost_per_conversion: Average cost per sales conversion
120
+ * - direct_roas: Direct return on ad spend (direct GMV / expense)
121
+ * - broad_roas: Broad return on ad spend (broad GMV / expense)
122
+ *
123
+ * Use this API to analyze hourly ad performance patterns for optimization.
124
+ */
125
+ async getAllCpcAdsHourlyPerformance(params) {
126
+ const response = await ShopeeFetch.fetch(this.config, '/ads/get_all_cpc_ads_hourly_performance', {
127
+ method: 'GET',
128
+ auth: true,
129
+ params,
130
+ });
131
+ return response;
132
+ }
133
+ /**
134
+ * Get shop level CPC ads daily performance data for a date range
135
+ * @param {GetAllCpcAdsDailyPerformanceParams} params Request parameters
136
+ * @param {string} params.start_date Start date of the performance data range in DD-MM-YYYY format
137
+ * @param {string} params.end_date End date of the performance data range in DD-MM-YYYY format
138
+ * @returns {Promise<GetAllCpcAdsDailyPerformanceResponse>} Response containing daily performance metrics
139
+ *
140
+ * This API is used to get Shop level CPC ads multiple-days daily performance.
141
+ * The date range must be today or earlier than today (up to 6 months ago), and cannot exceed 1 month.
142
+ * Start date must be earlier than end date and cannot be equal to end date.
143
+ *
144
+ * The response includes an array of daily performance metrics with the following details for each day:
145
+ * - date: The date the performance record belongs to
146
+ * - impression: Number of times buyers see ads
147
+ * - clicks: Total number of clicks on the ad
148
+ * - ctr: Click-through rate (Clicks / Impressions)
149
+ * - direct_order: Orders placed within 7 days after clicking on the clicked ad
150
+ * - broad_order: Orders placed within 7 days after clicking on any ad from the same shop
151
+ * - direct_conversions: Direct conversion rate (clicked ad orders / total clicks)
152
+ * - broad_conversions: Broad conversion rate (any shop orders / total clicks)
153
+ * - direct_item_sold: Items sold from the clicked ad
154
+ * - broad_item_sold: Items sold from the shop after any ad click
155
+ * - direct_gmv: Total sales from the clicked ad
156
+ * - broad_gmv: Total sales from the shop after any ad click
157
+ * - expense: Ad expenditure
158
+ * - cost_per_conversion: Average cost per sales conversion
159
+ * - direct_roas: Direct return on ad spend (direct GMV / expense)
160
+ * - broad_roas: Broad return on ad spend (broad GMV / expense)
161
+ *
162
+ * Use this API to analyze daily ad performance trends over a time period.
163
+ */
164
+ async getAllCpcAdsDailyPerformance(params) {
165
+ const response = await ShopeeFetch.fetch(this.config, '/ads/get_all_cpc_ads_daily_performance', {
166
+ method: 'GET',
167
+ auth: true,
168
+ params,
169
+ });
170
+ return response;
171
+ }
172
+ /**
173
+ * Get product-level campaign performance data for a date range
174
+ * @param {GetProductCampaignDailyPerformanceParams} params Request parameters
175
+ * @param {string} params.start_date Start date of the performance data range in DD-MM-YYYY format
176
+ * @param {string} params.end_date End date of the performance data range in DD-MM-YYYY format
177
+ * @param {string} params.campaign_id_list Comma-separated list of campaign IDs to fetch performance for (max 100)
178
+ * @returns {Promise<GetProductCampaignDailyPerformanceResponse>} Response containing detailed campaign performance metrics
179
+ *
180
+ * This API is used to get product-level ads performance data across multiple days.
181
+ * The date range must be today or earlier than today (up to 6 months ago), and cannot exceed 1 month.
182
+ * Start date must be earlier than end date and cannot be equal to end date.
183
+ *
184
+ * The response is structured hierarchically with:
185
+ * - shop_id and region information
186
+ * - Detailed campaign list with campaign_id, ad_type, campaign_placement, and ad_name
187
+ * - Comprehensive daily metrics for each campaign including:
188
+ * - Impressions, clicks, and CTR
189
+ * - Expense (ad spend)
190
+ * - Direct and broad performance metrics (orders, GMV, ROI)
191
+ * - Conversion rates and cost efficiency metrics
192
+ *
193
+ * Direct metrics refer to performance of the advertised product specifically, while
194
+ * broad metrics account for any purchases from the shop after an ad click.
195
+ *
196
+ * Use this API to analyze campaign effectiveness at the product level and optimize
197
+ * your advertising strategy based on detailed performance data.
198
+ */
199
+ async getProductCampaignDailyPerformance(params) {
200
+ const response = await ShopeeFetch.fetch(this.config, '/ads/get_product_campaign_daily_performance', {
201
+ method: 'GET',
202
+ auth: true,
203
+ params,
204
+ });
205
+ return response;
206
+ }
207
+ /**
208
+ * Get product-level campaign hourly performance data for a single day
209
+ * @param {GetProductCampaignHourlyPerformanceParams} params Request parameters
210
+ * @param {string} params.performance_date Single date for the hourly performance data in DD-MM-YYYY format
211
+ * @param {string} params.campaign_id_list Comma-separated list of campaign IDs to fetch performance for (max 100)
212
+ * @returns {Promise<GetProductCampaignHourlyPerformanceResponse>} Response containing detailed hourly campaign performance metrics
213
+ *
214
+ * This API is used to get product-level ads hourly performance data for a single day.
215
+ * The date must be today or earlier than today (up to 6 months ago).
216
+ *
217
+ * The response is structured hierarchically with:
218
+ * - shop_id and region information
219
+ * - Detailed campaign list with campaign_id, ad_type, campaign_placement, and ad_name
220
+ * - Comprehensive hourly metrics for each campaign including:
221
+ * - Hour the performance record belongs to
222
+ * - Impressions, clicks, and CTR
223
+ * - Expense (ad spend)
224
+ * - Direct and broad performance metrics (orders, GMV, ROI)
225
+ * - Conversion rates and cost efficiency metrics
226
+ *
227
+ * Direct metrics refer to performance of the advertised product specifically, while
228
+ * broad metrics account for any purchases from the shop after an ad click.
229
+ *
230
+ * Use this API to analyze hourly campaign patterns and performance fluctuations
231
+ * throughout the day to optimize timing of ad campaigns and budget allocation.
232
+ */
233
+ async getProductCampaignHourlyPerformance(params) {
234
+ const response = await ShopeeFetch.fetch(this.config, '/ads/get_product_campaign_hourly_performance', {
235
+ method: 'GET',
236
+ auth: true,
237
+ params,
238
+ });
239
+ return response;
240
+ }
241
+ /**
242
+ * Get a list of all product-level campaign IDs for a shop
243
+ * @param {GetProductLevelCampaignIdListParams} [params] Optional request parameters
244
+ * @param {string} [params.ad_type] Filter campaigns by ad type (can be "", "all", "auto", or "manual")
245
+ * @param {number} [params.offset] Pagination offset for fetching subsequent pages
246
+ * @param {number} [params.limit] Page size limit (number of results to return)
247
+ * @returns {Promise<GetProductLevelCampaignIdListResponse>} Response containing campaign IDs and pagination info
248
+ *
249
+ * This API is used to fetch all product campaign IDs displayed on the advertiser platform
250
+ * for a specific shop. The results can be filtered by ad type and paginated using
251
+ * offset and limit parameters.
252
+ *
253
+ * The response contains:
254
+ * - shop_id: The unique identifier for the shop
255
+ * - region: The region where the shop is located
256
+ * - has_next_page: Indicates if there are more campaigns on the next page
257
+ * - campaign_list: List of campaigns with ad_type and campaign_id
258
+ *
259
+ * Use this API to retrieve campaign IDs that can then be used with other APIs
260
+ * like getProductCampaignDailyPerformance or getProductCampaignHourlyPerformance
261
+ * to fetch detailed performance metrics.
262
+ */
263
+ async getProductLevelCampaignIdList(params) {
264
+ const response = await ShopeeFetch.fetch(this.config, '/ads/get_product_level_campaign_id_list', {
265
+ method: 'GET',
266
+ auth: true,
267
+ params,
268
+ });
269
+ return response;
270
+ }
271
+ /**
272
+ * Get detailed settings information for product-level campaigns
273
+ * @param {GetProductLevelCampaignSettingInfoParams} params Request parameters
274
+ * @param {string} params.info_type_list Comma-separated list of info types to retrieve (1: Common Info, 2: Manual Bidding Info, 3: Auto Bidding Info, 4: Auto Product Ads Info)
275
+ * @param {string} params.campaign_id_list Comma-separated list of campaign IDs to fetch settings for (max 100)
276
+ * @returns {Promise<GetProductLevelCampaignSettingInfoResponse>} Response containing detailed campaign settings
277
+ *
278
+ * This API is used to retrieve detailed configuration settings for product-level ad campaigns.
279
+ * Depending on the info_type_list parameter, different types of information will be returned:
280
+ *
281
+ * Info type 1 (Common Info) includes:
282
+ * - Ad type (auto or manual)
283
+ * - Ad name and status
284
+ * - Bidding method and placement
285
+ * - Campaign budget and duration
286
+ * - List of item IDs in the campaign
287
+ *
288
+ * Info type 2 (Manual Bidding Info) includes:
289
+ * - Enhanced CPC setting
290
+ * - Selected keywords with match types and bid prices
291
+ * - Discovery ads placement settings
292
+ *
293
+ * Info type 3 (Auto Bidding Info) includes:
294
+ * - ROAS (Return on Ad Spend) target
295
+ *
296
+ * Info type 4 (Auto Product Ads Info) includes:
297
+ * - Product name and status
298
+ * - Item IDs
299
+ *
300
+ * Use this API to analyze and understand the detailed settings of your ad campaigns,
301
+ * which can help with optimization and decision-making for future campaign management.
302
+ */
303
+ async getProductLevelCampaignSettingInfo(params) {
304
+ const response = await ShopeeFetch.fetch(this.config, '/ads/get_product_level_campaign_setting_info', {
305
+ method: 'GET',
306
+ auth: true,
307
+ params,
308
+ });
309
+ return response;
310
+ }
311
+ /**
312
+ * Get recommended ROI target values for a product's ad campaign
313
+ * @param {GetProductRecommendedRoiTargetParams} params Request parameters
314
+ * @param {string} params.reference_id A random string used to prevent duplicate ads
315
+ * @param {number} params.item_id Unique identifier for a product
316
+ * @returns {Promise<GetProductRecommendedRoiTargetResponse>} Response containing recommended ROI targets
317
+ *
318
+ * This API is used to get recommended Return on Investment (ROI) target values for
319
+ * a product's ad campaign. These recommendations help sellers set competitive ROI
320
+ * targets for their advertising campaigns.
321
+ *
322
+ * The response includes three recommendation levels:
323
+ *
324
+ * - Lower bound: A more competitive target (e.g., value=3.5, percentile=80) that makes
325
+ * the ad more competitive than 80% of similar ads.
326
+ *
327
+ * - Exact (mid-level): A balanced target (e.g., value=5.9, percentile=50) that makes
328
+ * the ad more competitive than 50% of similar ads.
329
+ *
330
+ * - Upper bound: A less competitive target (e.g., value=10.8, percentile=20) that makes
331
+ * the ad more competitive than 20% of similar ads.
332
+ *
333
+ * Each recommendation includes:
334
+ * - value: The recommended ROI target value
335
+ * - percentile: Indicates how competitive this target is compared to similar ads
336
+ *
337
+ * Use this API to help determine optimal ROI targets for your advertising strategy
338
+ * based on competitive marketplace data.
339
+ */
340
+ async getProductRecommendedRoiTarget(params) {
341
+ const response = await ShopeeFetch.fetch(this.config, '/ads/get_product_recommended_roi_target', {
342
+ method: 'GET',
343
+ auth: true,
344
+ params,
345
+ });
346
+ return response;
347
+ }
73
348
  }
74
349
  //# sourceMappingURL=ads.manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ads.manager.js","sourceRoot":"","sources":["../../src/managers/ads.manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,OAAO,UAAW,SAAQ,WAAW;IACvC,YAAY,MAAoB;QAC9B,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,eAAe;QACnB,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,CACtC,IAAI,CAAC,MAAM,EACX,wBAAwB,EACxB;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI;SACX,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,iBAAiB;QACrB,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,CACtC,IAAI,CAAC,MAAM,EACX,2BAA2B,EAC3B;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI;SACX,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,yBAAyB,CAAC,MAAuC;QACrE,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,CACtC,IAAI,CAAC,MAAM,EACX,mCAAmC,EACnC;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI;YACV,MAAM;SACP,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;CACJ"}
1
+ {"version":3,"file":"ads.manager.js","sourceRoot":"","sources":["../../src/managers/ads.manager.ts"],"names":[],"mappings":"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"}
@@ -60,3 +60,459 @@ export interface GetRecommendedKeywordListResponse extends BaseResponse {
60
60
  /** Optional warning message if some data cannot be responded normally */
61
61
  warning?: string;
62
62
  }
63
+ /**
64
+ * Response for the get recommended item list API
65
+ */
66
+ export interface GetRecommendedItemListResponse extends BaseResponse {
67
+ response: Array<{
68
+ /** Recommended SKU's item id */
69
+ item_id: number;
70
+ /** This is param to indicate the status of items, so sellers can know whether an item is eligible for ads or not */
71
+ item_status_list: string[];
72
+ /** The corresponding tag (or tags) that belong to item_id, sequences follow as best selling>best ROI>top search */
73
+ sku_tag_list: string[];
74
+ /** Current status of the ad on this item. For example- no ongoing promotion, search ads, discovery ads, boost ads */
75
+ ongoing_ad_type_list: string[];
76
+ }>;
77
+ /** Optional warning message if some data cannot be responded normally */
78
+ warning?: string;
79
+ }
80
+ /**
81
+ * Parameters for the get all CPC ads hourly performance API
82
+ */
83
+ export type GetAllCpcAdsHourlyPerformanceParams = {
84
+ /** Single date on which to check the hourly performance (DD-MM-YYYY format) */
85
+ performance_date: string;
86
+ };
87
+ /**
88
+ * Response for the get all CPC ads hourly performance API
89
+ */
90
+ export interface GetAllCpcAdsHourlyPerformanceResponse extends BaseResponse {
91
+ response: Array<{
92
+ /** Hour the performance record belongs to */
93
+ hour: number;
94
+ /** Date the performance record belongs to (DD-MM-YYYY format) */
95
+ date: string;
96
+ /** Number of times buyers see ads */
97
+ impression: number;
98
+ /** Total number of clicks on the Ad */
99
+ clicks: number;
100
+ /** Click-through rate (Clicks / Impressions) */
101
+ ctr: number;
102
+ /** Direct conversions - buyer placed an order within 7 days after clicking on the ads (item gets purchased from the clicked ads) */
103
+ direct_order: number;
104
+ /** Broad conversions - buyer placed an order within 7 days after clicking on the ads (any item from the same shop) */
105
+ broad_order: number;
106
+ /** Direct conversion rate (Ad orders / total clicks) - item gets purchased from the clicked ads */
107
+ direct_conversions: number;
108
+ /** Broad conversion rate (Ad orders / total clicks) - any item from the same shop gets purchased */
109
+ broad_conversions: number;
110
+ /** Items sold within 7 days after clicking on the ads (item gets purchased from the clicked ads) */
111
+ direct_item_sold: number;
112
+ /** Items sold within 7 days after clicking on the ads (any item from the same shop) */
113
+ broad_item_sold: number;
114
+ /** Total direct sales generated from ads over a 7-day window (item gets purchased from the clicked ads) */
115
+ direct_gmv: number;
116
+ /** Total broad sales generated from ads over a 7-day window (any item from the same shop) */
117
+ broad_gmv: number;
118
+ /** Ad expenditure */
119
+ expense: number;
120
+ /** Cost per conversion - ad's average cost per sales conversion */
121
+ cost_per_conversion: number;
122
+ /** Direct ROAS - Ad GMV/Ad Expenditure (item gets purchased from the clicked ads) */
123
+ direct_roas: number;
124
+ /** Broad ROAS - Ad GMV/Ad Expenditure (any item from the same shop gets purchased) */
125
+ broad_roas: number;
126
+ }>;
127
+ /** Optional warning message if some data cannot be responded normally */
128
+ warning?: string;
129
+ }
130
+ /**
131
+ * Parameters for the get all CPC ads daily performance API
132
+ */
133
+ export type GetAllCpcAdsDailyPerformanceParams = {
134
+ /** Start date of the performance data range (DD-MM-YYYY format) */
135
+ start_date: string;
136
+ /** End date of the performance data range (DD-MM-YYYY format) */
137
+ end_date: string;
138
+ };
139
+ /**
140
+ * Response for the get all CPC ads daily performance API
141
+ */
142
+ export interface GetAllCpcAdsDailyPerformanceResponse extends BaseResponse {
143
+ response: Array<{
144
+ /** Date the performance record belongs to (DD-MM-YYYY format) */
145
+ date: string;
146
+ /** Number of times buyers see ads */
147
+ impression: number;
148
+ /** Total number of clicks on the Ad */
149
+ clicks: number;
150
+ /** Click-through rate (Clicks / Impressions) */
151
+ ctr: number;
152
+ /** Direct conversions - buyer placed an order within 7 days after clicking on the ads (item gets purchased from the clicked ads) */
153
+ direct_order: number;
154
+ /** Broad conversions - buyer placed an order within 7 days after clicking on the ads (any item from the same shop) */
155
+ broad_order: number;
156
+ /** Direct conversion rate (Ad orders / total clicks) - item gets purchased from the clicked ads */
157
+ direct_conversions: number;
158
+ /** Broad conversion rate (Ad orders / total clicks) - any item from the same shop gets purchased */
159
+ broad_conversions: number;
160
+ /** Items sold within 7 days after clicking on the ads (item gets purchased from the clicked ads) */
161
+ direct_item_sold: number;
162
+ /** Items sold within 7 days after clicking on the ads (any item from the same shop) */
163
+ broad_item_sold: number;
164
+ /** Total direct sales generated from ads over a 7-day window (item gets purchased from the clicked ads) */
165
+ direct_gmv: number;
166
+ /** Total broad sales generated from ads over a 7-day window (any item from the same shop) */
167
+ broad_gmv: number;
168
+ /** Ad expenditure */
169
+ expense: number;
170
+ /** Cost per conversion - ad's average cost per sales conversion */
171
+ cost_per_conversion: number;
172
+ /** Direct ROAS - Ad GMV/Ad Expenditure (item gets purchased from the clicked ads) */
173
+ direct_roas: number;
174
+ /** Broad ROAS - Ad GMV/Ad Expenditure (any item from the same shop gets purchased) */
175
+ broad_roas: number;
176
+ }>;
177
+ /** Optional warning message if some data cannot be responded normally */
178
+ warning?: string;
179
+ }
180
+ /**
181
+ * Parameters for the get product campaign daily performance API
182
+ */
183
+ export type GetProductCampaignDailyPerformanceParams = {
184
+ /** Start date of the performance data range (DD-MM-YYYY format) */
185
+ start_date: string;
186
+ /** End date of the performance data range (DD-MM-YYYY format) */
187
+ end_date: string;
188
+ /** Comma-separated list of campaign IDs to fetch performance for (max 100) */
189
+ campaign_id_list: string;
190
+ };
191
+ /**
192
+ * Response for the get product campaign daily performance API
193
+ */
194
+ export interface GetProductCampaignDailyPerformanceResponse extends BaseResponse {
195
+ response: Array<{
196
+ /** The unique ID for the shop */
197
+ shop_id: number;
198
+ /** The region where the shop is located */
199
+ region: string;
200
+ /** List of campaigns and their performance data */
201
+ campaign_list: Array<{
202
+ /** The unique ID for the campaign */
203
+ campaign_id: number;
204
+ /** The ad type (auto or manual) */
205
+ ad_type: string;
206
+ /** The campaign placement (search, discovery, or all) */
207
+ campaign_placement: string;
208
+ /** The name of the ad */
209
+ ad_name: string;
210
+ /** List of daily performance metrics for the campaign */
211
+ metrics_list: Array<{
212
+ /** Date of the performance record (DD-MM-YYYY format) */
213
+ date: string;
214
+ /** Number of times shoppers see the ad */
215
+ impression: number;
216
+ /** Number of times shoppers click on the ad */
217
+ clicks: number;
218
+ /** Click-through rate (clicks ÷ impressions × 100%) */
219
+ ctr: number;
220
+ /** Amount spent on the ad */
221
+ expense: number;
222
+ /** Sales revenue generated from any product purchase within 7 days of ad click */
223
+ broad_gmv: number;
224
+ /** Number of orders placed within 7 days of ad click */
225
+ broad_order: number;
226
+ /** Total quantity of products purchased within 7 days of ad click */
227
+ broad_order_amount: number;
228
+ /** Broad return on ad spend (broad_gmv ÷ expense) */
229
+ broad_roi: number;
230
+ /** Broad advertising cost of sales (expense ÷ broad_gmv × 100%) */
231
+ broad_cir: number;
232
+ /** Conversion rate (conversions ÷ clicks × 100%) */
233
+ cr: number;
234
+ /** Cost per conversion (expense ÷ conversions) */
235
+ cpc: number;
236
+ /** Number of orders for the advertised product within 7 days of ad click */
237
+ direct_order: number;
238
+ /** Total quantity of the advertised product purchased within 7 days of ad click */
239
+ direct_order_amount: number;
240
+ /** Sales revenue generated from the advertised product within 7 days of ad click */
241
+ direct_gmv: number;
242
+ /** Direct return on ad spend (direct_gmv ÷ expense) */
243
+ direct_roi: number;
244
+ /** Direct advertising cost of sales (expense ÷ direct_gmv × 100%) */
245
+ direct_cir: number;
246
+ /** Direct conversion rate (direct conversions ÷ clicks × 100%) */
247
+ direct_cr: number;
248
+ /** Cost per direct conversion (expense ÷ direct conversions) */
249
+ cpdc: number;
250
+ }>;
251
+ }>;
252
+ }>;
253
+ /** Optional warning message if some data cannot be responded normally */
254
+ warning?: string;
255
+ }
256
+ /**
257
+ * Parameters for the get product campaign hourly performance API
258
+ */
259
+ export type GetProductCampaignHourlyPerformanceParams = {
260
+ /** Single date for the hourly performance data (DD-MM-YYYY format) */
261
+ performance_date: string;
262
+ /** Comma-separated list of campaign IDs to fetch performance for (max 100) */
263
+ campaign_id_list: string;
264
+ };
265
+ /**
266
+ * Response for the get product campaign hourly performance API
267
+ */
268
+ export interface GetProductCampaignHourlyPerformanceResponse extends BaseResponse {
269
+ response: Array<{
270
+ /** The unique ID for the shop */
271
+ shop_id: number;
272
+ /** The region where the shop is located */
273
+ region: string;
274
+ /** List of campaigns and their performance data */
275
+ campaign_list: Array<{
276
+ /** The unique ID for the campaign */
277
+ campaign_id: number;
278
+ /** The ad type (auto or manual) */
279
+ ad_type: string;
280
+ /** The campaign placement (search, discovery, or all) */
281
+ campaign_placement: string;
282
+ /** The name of the ad */
283
+ ad_name: string;
284
+ /** List of hourly performance metrics for the campaign */
285
+ metrics_list: Array<{
286
+ /** Hour the performance record belongs to */
287
+ hour: number;
288
+ /** Date of the performance record (DD-MM-YYYY format) */
289
+ date: string;
290
+ /** Number of times shoppers see the ad */
291
+ impression: number;
292
+ /** Number of times shoppers click on the ad */
293
+ clicks: number;
294
+ /** Click-through rate (clicks ÷ impressions × 100%) */
295
+ ctr: number;
296
+ /** Amount spent on the ad */
297
+ expense: number;
298
+ /** Sales revenue generated from any product purchase within 7 days of ad click */
299
+ broad_gmv: number;
300
+ /** Number of orders placed within 7 days of ad click */
301
+ broad_order: number;
302
+ /** Total quantity of products purchased within 7 days of ad click */
303
+ broad_order_amount: number;
304
+ /** Broad return on ad spend (broad_gmv ÷ expense) */
305
+ broad_roi: number;
306
+ /** Broad advertising cost of sales (expense ÷ broad_gmv × 100%) */
307
+ broad_cir: number;
308
+ /** Conversion rate (conversions ÷ clicks × 100%) */
309
+ cr: number;
310
+ /** Cost per conversion (expense ÷ conversions) */
311
+ cpc: number;
312
+ /** Number of orders for the advertised product within 7 days of ad click */
313
+ direct_order: number;
314
+ /** Total quantity of the advertised product purchased within 7 days of ad click */
315
+ direct_order_amount: number;
316
+ /** Sales revenue generated from the advertised product within 7 days of ad click */
317
+ direct_gmv: number;
318
+ /** Direct return on ad spend (direct_gmv ÷ expense) */
319
+ direct_roi: number;
320
+ /** Direct advertising cost of sales (expense ÷ direct_gmv × 100%) */
321
+ direct_cir: number;
322
+ /** Direct conversion rate (direct conversions ÷ clicks × 100%) */
323
+ direct_cr: number;
324
+ /** Cost per direct conversion (expense ÷ direct conversions) */
325
+ cpdc: number;
326
+ }>;
327
+ }>;
328
+ }>;
329
+ /** Optional warning message if some data cannot be responded normally */
330
+ warning?: string;
331
+ }
332
+ /**
333
+ * Parameters for the get product level campaign ID list API
334
+ */
335
+ export type GetProductLevelCampaignIdListParams = {
336
+ /**
337
+ * Filter campaigns by ad type
338
+ * Can be any of ["", "all", "auto", "manual"]
339
+ */
340
+ ad_type?: string;
341
+ /** Pagination offset */
342
+ offset?: number;
343
+ /** Page size limit (number of results to return) */
344
+ limit?: number;
345
+ };
346
+ /**
347
+ * Response for the get product level campaign ID list API
348
+ */
349
+ export interface GetProductLevelCampaignIdListResponse extends BaseResponse {
350
+ response: {
351
+ /** The unique ID for the shop */
352
+ shop_id: number;
353
+ /** The region where the shop is located */
354
+ region: string;
355
+ /** Indicates if there are more campaigns on the next page */
356
+ has_next_page: boolean;
357
+ /** List of campaigns */
358
+ campaign_list: Array<{
359
+ /** The ad type (auto or manual) */
360
+ ad_type: string;
361
+ /** The unique ID for the campaign */
362
+ campaign_id: number;
363
+ }>;
364
+ };
365
+ /** Optional warning message if some data cannot be responded normally */
366
+ warning?: string;
367
+ }
368
+ /**
369
+ * Parameters for the get product level campaign setting info API
370
+ */
371
+ export type GetProductLevelCampaignSettingInfoParams = {
372
+ /**
373
+ * Info types to retrieve, comma-separated
374
+ * 1: Common Info
375
+ * 2: Manual Bidding Info
376
+ * 3: Auto Bidding Info
377
+ * 4: Auto Product Ads Info
378
+ */
379
+ info_type_list: string;
380
+ /** Comma-separated list of campaign IDs to fetch settings for (max 100) */
381
+ campaign_id_list: string;
382
+ };
383
+ /**
384
+ * Response for the get product level campaign setting info API
385
+ */
386
+ export interface GetProductLevelCampaignSettingInfoResponse extends BaseResponse {
387
+ response: {
388
+ /** The unique ID for the shop */
389
+ shop_id: number;
390
+ /** The region where the shop is located */
391
+ region: string;
392
+ /** List of campaigns with their settings */
393
+ campaign_list: Array<{
394
+ /** The unique ID for the campaign */
395
+ campaign_id: number;
396
+ /** Common campaign information (returned if info_type_list includes 1) */
397
+ common_info?: {
398
+ /** The ad type (auto or manual) */
399
+ ad_type: string;
400
+ /** The name of the ad */
401
+ ad_name: string;
402
+ /** Campaign status (ongoing, scheduled, ended, paused, deleted, closed) */
403
+ campaign_status: string;
404
+ /** Bidding method (auto or manual) */
405
+ bidding_method: string;
406
+ /** Campaign placement (search, discovery, or all) */
407
+ campaign_placement: string;
408
+ /** The budget per campaign (0 means unlimited budget) */
409
+ campaign_budget: number;
410
+ /** Campaign duration */
411
+ campaign_duration: {
412
+ /** Campaign start time (Unix timestamp) */
413
+ start_time: number;
414
+ /** Campaign end time (Unix timestamp, 0 means no end date) */
415
+ end_time: number;
416
+ };
417
+ /** List of item IDs in the campaign */
418
+ item_id_list: number[];
419
+ };
420
+ /** Manual bidding information (returned if info_type_list includes 2) */
421
+ manual_bidding_info?: {
422
+ /** Whether Enhanced CPC functionality is enabled */
423
+ enhanced_cpc: boolean;
424
+ /** Selected keywords for search campaigns */
425
+ selected_keywords: Array<{
426
+ /** Bid keyword */
427
+ keyword: string;
428
+ /** Keyword status (deleted, normal, reserved, blacklist) */
429
+ status: string;
430
+ /** Match type (exact or broad) */
431
+ match_type: string;
432
+ /** Bid price per click */
433
+ bid_price_per_click: number;
434
+ }>;
435
+ /** Discovery ads placement settings */
436
+ discovery_ads_locations: Array<{
437
+ /** Location (daily_discover, you_may_also_like) */
438
+ location: string;
439
+ /** Status (active or inactive) */
440
+ status: string;
441
+ /** Bid price */
442
+ bid_price: number;
443
+ }>;
444
+ };
445
+ /** Auto bidding information (returned if info_type_list includes 3) */
446
+ auto_bidding_info?: {
447
+ /** ROAS target for campaigns with auto bidding */
448
+ roas_target: number;
449
+ };
450
+ /** Auto product ads information (returned if info_type_list includes 4) */
451
+ auto_product_ads_info?: Array<{
452
+ /** Product name */
453
+ product_name: string;
454
+ /** Product status (learning, ongoing, paused, ended, unavailable) */
455
+ status: string;
456
+ /** Unique identifier for the product */
457
+ item_id: number;
458
+ }>;
459
+ }>;
460
+ };
461
+ /** Optional warning message if some data cannot be responded normally */
462
+ warning?: string;
463
+ }
464
+ /**
465
+ * Parameters for the get product recommended ROI target API
466
+ */
467
+ export type GetProductRecommendedRoiTargetParams = {
468
+ /**
469
+ * A random string used to prevent duplicate ads.
470
+ * If an ads is created successfully, subsequent requests using the same reference id will fail.
471
+ * Use the same string for calling suggestion/recommendation API before the actual request to create an ads.
472
+ */
473
+ reference_id: string;
474
+ /** Unique identifier for a product */
475
+ item_id: number;
476
+ };
477
+ /**
478
+ * Response for the get product recommended ROI target API
479
+ */
480
+ export interface GetProductRecommendedRoiTargetResponse extends BaseResponse {
481
+ response: {
482
+ /**
483
+ * Lower bound recommendation.
484
+ * e.g., value=3.5 and percentile=80 mean that setting an ROI target of 3.5
485
+ * makes the ads more competitive than 80% of similar ads.
486
+ */
487
+ lower_bound: {
488
+ /** The ROI target value */
489
+ value: number;
490
+ /** Competitiveness over similar ads */
491
+ percentile: number;
492
+ };
493
+ /**
494
+ * Mid-level recommendation.
495
+ * e.g., value=5.9 and percentile=50 mean that setting an ROI target of 5.9
496
+ * makes the ads more competitive than 50% of similar ads.
497
+ */
498
+ exact: {
499
+ /** The ROI target value */
500
+ value: number;
501
+ /** Competitiveness over similar ads */
502
+ percentile: number;
503
+ };
504
+ /**
505
+ * Higher bound recommendation.
506
+ * e.g., value=10.8 and percentile=20 mean that setting an ROI target of 10.8
507
+ * makes the ads more competitive than 20% of similar ads.
508
+ */
509
+ upper_bound: {
510
+ /** The ROI target value */
511
+ value: number;
512
+ /** Competitiveness over similar ads */
513
+ percentile: number;
514
+ };
515
+ };
516
+ /** Optional warning message if some data cannot be responded normally */
517
+ warning?: string;
518
+ }
@@ -9,3 +9,4 @@ export * from './product.js';
9
9
  export * from './public.js';
10
10
  export * from './push.js';
11
11
  export * from './region.js';
12
+ export * from './ads.js';
@@ -9,4 +9,5 @@ export * from './product.js';
9
9
  export * from './public.js';
10
10
  export * from './push.js';
11
11
  export * from './region.js';
12
+ export * from './ads.js';
12
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@congminh1254/shopee-sdk",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Shopee SDK maintaining by community",
5
5
  "type": "module",
6
6
  "main": "./lib/sdk.js",