@teemill/product-catalog 1.84.0 → 1.86.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.
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- ## @teemill/product-catalog@1.84.0
1
+ ## @teemill/product-catalog@1.86.0
2
2
 
3
3
  This generator creates TypeScript/JavaScript client that utilizes [axios](https://github.com/axios/axios). The generated Node module can be used in the following environments:
4
4
 
@@ -36,7 +36,7 @@ navigate to the folder of your consuming project and run one of the following co
36
36
  _published:_
37
37
 
38
38
  ```
39
- npm install @teemill/product-catalog@1.84.0 --save
39
+ npm install @teemill/product-catalog@1.86.0 --save
40
40
  ```
41
41
 
42
42
  _unPublished (not recommended):_
@@ -63,6 +63,7 @@ Class | Method | HTTP request | Description
63
63
  *ApplicationSetsApi* | [**updateApplicationSet**](docs/ApplicationSetsApi.md#updateapplicationset) | **PATCH** /v1/catalog/applications/sets/{applicationSetId} | Update application set
64
64
  *ApplicationTechnologiesApi* | [**listTechnologies**](docs/ApplicationTechnologiesApi.md#listtechnologies) | **GET** /v1/catalog/applications/technologies | List technologies available to this project
65
65
  *ProductAnalyticsApi* | [**exportProductAnalytics**](docs/ProductAnalyticsApi.md#exportproductanalytics) | **GET** /v1/catalog/analytics/export | Export product analytics
66
+ *ProductAnalyticsApi* | [**getProductAnalyticsSummary**](docs/ProductAnalyticsApi.md#getproductanalyticssummary) | **GET** /v1/catalog/analytics/summary | Get product analytics summary
66
67
  *ProductAnalyticsApi* | [**listProductAnalytics**](docs/ProductAnalyticsApi.md#listproductanalytics) | **GET** /v1/catalog/analytics | List product analytics
67
68
  *ProductTypesApi* | [**listProductTypes**](docs/ProductTypesApi.md#listproducttypes) | **GET** /v1/catalog/product-types | List product types
68
69
  *ProductsApi* | [**createProduct**](docs/ProductsApi.md#createproduct) | **POST** /v1/catalog/products | Create product
@@ -82,8 +83,10 @@ Class | Method | HTTP request | Description
82
83
 
83
84
  ### Documentation For Models
84
85
 
86
+ - [Action](docs/Action.md)
85
87
  - [AdditionalFile](docs/AdditionalFile.md)
86
88
  - [AnalyticsItem](docs/AnalyticsItem.md)
89
+ - [AnalyticsSummary](docs/AnalyticsSummary.md)
87
90
  - [ApiError](docs/ApiError.md)
88
91
  - [Application](docs/Application.md)
89
92
  - [ApplicationGroup](docs/ApplicationGroup.md)
@@ -147,6 +150,7 @@ Class | Method | HTTP request | Description
147
150
  - [ProductTypeListResponse](docs/ProductTypeListResponse.md)
148
151
  - [ProductWarehouseProduct](docs/ProductWarehouseProduct.md)
149
152
  - [ProductsResponse](docs/ProductsResponse.md)
153
+ - [Recommendation](docs/Recommendation.md)
150
154
  - [RequiredPrice](docs/RequiredPrice.md)
151
155
  - [SEOMetadata](docs/SEOMetadata.md)
152
156
  - [SEOMetadata1](docs/SEOMetadata1.md)
package/api.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * Product Catalog API
5
5
  * Manage your Product Catalog. A catalog product is an object that represents a product listing that can be purchased from the given project. It contains a combination of design applications and a warehouse product, plus listing information such as title, description and tags.
6
6
  *
7
- * The version of the OpenAPI document: 1.84.0
7
+ * The version of the OpenAPI document: 1.86.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -23,6 +23,36 @@ import type { RequestArgs } from './base';
23
23
  // @ts-ignore
24
24
  import { BASE_PATH, COLLECTION_FORMATS, BaseAPI, RequiredError, operationServerMap } from './base';
25
25
 
26
+ export interface Action {
27
+ /**
28
+ * Unique object identifier
29
+ */
30
+ 'id': string;
31
+ /**
32
+ * A reference to the action resource location
33
+ */
34
+ 'ref': string;
35
+ /**
36
+ * The title of the action
37
+ */
38
+ 'title': string;
39
+ 'impact': ActionImpactEnum;
40
+ /**
41
+ * A reference to the task resource location
42
+ */
43
+ 'taskRef': string | null;
44
+ 'createdAt': string;
45
+ 'updatedAt': string;
46
+ }
47
+
48
+ export const ActionImpactEnum = {
49
+ High: 'high',
50
+ Medium: 'medium',
51
+ Low: 'low'
52
+ } as const;
53
+
54
+ export type ActionImpactEnum = typeof ActionImpactEnum[keyof typeof ActionImpactEnum];
55
+
26
56
  export interface AdditionalFile {
27
57
  /**
28
58
  * Publicly available file URL.
@@ -55,6 +85,15 @@ export interface AnalyticsItem {
55
85
  */
56
86
  'revenue': number;
57
87
  }
88
+ export interface AnalyticsSummary {
89
+ /**
90
+ * A summary of the recommendations
91
+ */
92
+ 'summary': string;
93
+ 'recommendations': Array<Recommendation>;
94
+ 'createdAt': string;
95
+ 'updatedAt': string;
96
+ }
58
97
  export interface ApiError {
59
98
  'code'?: string;
60
99
  'message': string;
@@ -1273,6 +1312,37 @@ export interface ProductsResponse {
1273
1312
  */
1274
1313
  'nextPageToken'?: number | null;
1275
1314
  }
1315
+ export interface Recommendation {
1316
+ /**
1317
+ * Unique object identifier
1318
+ */
1319
+ 'id': string;
1320
+ /**
1321
+ * A reference to the recommendation resource location
1322
+ */
1323
+ 'ref': string;
1324
+ /**
1325
+ * The reason for the recommendation
1326
+ */
1327
+ 'reason': string;
1328
+ /**
1329
+ * The recommendation for the target
1330
+ */
1331
+ 'recommendation': string;
1332
+ 'priority': RecommendationPriorityEnum;
1333
+ 'actions': Array<Action>;
1334
+ 'createdAt': string;
1335
+ 'updatedAt': string;
1336
+ }
1337
+
1338
+ export const RecommendationPriorityEnum = {
1339
+ High: 'high',
1340
+ Medium: 'medium',
1341
+ Low: 'low'
1342
+ } as const;
1343
+
1344
+ export type RecommendationPriorityEnum = typeof RecommendationPriorityEnum[keyof typeof RecommendationPriorityEnum];
1345
+
1276
1346
  /**
1277
1347
  * Required price definition that defines the amount and currency.
1278
1348
  */
@@ -3183,10 +3253,22 @@ export const ProductAnalyticsApiAxiosParamCreator = function (configuration?: Co
3183
3253
  * Exports all products with analytics data in a CSV file.
3184
3254
  * @summary Export product analytics
3185
3255
  * @param {string} project What project it is
3256
+ * @param {Array<string>} [sortBy] An array of fields to sort by, prefixed with a \&#39;-\&#39; for descending order or \&#39;+\&#39; for ascending. Default is ascending.
3257
+ * @param {string} [search] Search query string to filter results. Supports field-specific filters like: \&#39;enabled:true\&#39;, \&#39;gfn_product_ids:&lt;id&gt;\&#39;, \&#39;tag:\&quot;tag name\&quot;\&#39;, \&#39;internal_tag:\&quot;internal tag name\&quot;\&#39;, \&#39;includeArchived:false\&#39;, \&#39;hasSearchPhrase:false\&#39;, \&#39;inDataFeeds:true\&#39;, \&#39;aiOptimised:true\&#39;, \&#39;productType:&lt;id&gt;\&#39;, \&#39;genderGroup:\&quot;male,female,unisex\&quot;\&#39;, \&#39;hasBarcode:true\&#39;, \&#39;onSale:true\&#39;, \&#39;type:product,template,bundle\&#39;, \&#39;collection:&lt;id&gt;\&#39;. Multiple filters can be combined with spaces and commas.
3258
+ * @param {string} [dateRangeStartDate] Start date for the date range filter (ISO 8601 format)
3259
+ * @param {string} [dateRangeEndDate] End date for the date range filter (ISO 8601 format)
3260
+ * @param {number} [minimumRevenue] Filter to only include products with total revenue greater than or equal to this amount
3261
+ * @param {number} [maximumRevenue] Filter to only include products with total revenue less than or equal to this amount
3262
+ * @param {number} [minimumSales] Filter to only include products with total sales greater than or equal to this number
3263
+ * @param {number} [maximumSales] Filter to only include products with total sales less than or equal to this number
3264
+ * @param {number} [minimumBasketPercent] Filter to only include products where the average basket percentage is greater than or equal to this value
3265
+ * @param {number} [maximumBasketPercent] Filter to only include products where the average basket percentage is less than or equal to this value
3266
+ * @param {number} [minimumTraffic] Filter to only include products with total traffic greater than or equal to this number
3267
+ * @param {number} [maximumTraffic] Filter to only include products with total traffic less than or equal to this number
3186
3268
  * @param {*} [options] Override http request option.
3187
3269
  * @throws {RequiredError}
3188
3270
  */
3189
- exportProductAnalytics: async (project: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
3271
+ exportProductAnalytics: async (project: string, sortBy?: Array<string>, search?: string, dateRangeStartDate?: string, dateRangeEndDate?: string, minimumRevenue?: number, maximumRevenue?: number, minimumSales?: number, maximumSales?: number, minimumBasketPercent?: number, maximumBasketPercent?: number, minimumTraffic?: number, maximumTraffic?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
3190
3272
  // verify required parameter 'project' is not null or undefined
3191
3273
  assertParamExists('exportProductAnalytics', 'project', project)
3192
3274
  const localVarPath = `/v1/catalog/analytics/export`;
@@ -3212,6 +3294,58 @@ export const ProductAnalyticsApiAxiosParamCreator = function (configuration?: Co
3212
3294
  localVarQueryParameter['project'] = project;
3213
3295
  }
3214
3296
 
3297
+ if (sortBy) {
3298
+ localVarQueryParameter['sortBy'] = sortBy;
3299
+ }
3300
+
3301
+ if (search !== undefined) {
3302
+ localVarQueryParameter['search'] = search;
3303
+ }
3304
+
3305
+ if (dateRangeStartDate !== undefined) {
3306
+ localVarQueryParameter['dateRangeStartDate'] = (dateRangeStartDate as any instanceof Date) ?
3307
+ (dateRangeStartDate as any).toISOString() :
3308
+ dateRangeStartDate;
3309
+ }
3310
+
3311
+ if (dateRangeEndDate !== undefined) {
3312
+ localVarQueryParameter['dateRangeEndDate'] = (dateRangeEndDate as any instanceof Date) ?
3313
+ (dateRangeEndDate as any).toISOString() :
3314
+ dateRangeEndDate;
3315
+ }
3316
+
3317
+ if (minimumRevenue !== undefined) {
3318
+ localVarQueryParameter['minimumRevenue'] = minimumRevenue;
3319
+ }
3320
+
3321
+ if (maximumRevenue !== undefined) {
3322
+ localVarQueryParameter['maximumRevenue'] = maximumRevenue;
3323
+ }
3324
+
3325
+ if (minimumSales !== undefined) {
3326
+ localVarQueryParameter['minimumSales'] = minimumSales;
3327
+ }
3328
+
3329
+ if (maximumSales !== undefined) {
3330
+ localVarQueryParameter['maximumSales'] = maximumSales;
3331
+ }
3332
+
3333
+ if (minimumBasketPercent !== undefined) {
3334
+ localVarQueryParameter['minimumBasketPercent'] = minimumBasketPercent;
3335
+ }
3336
+
3337
+ if (maximumBasketPercent !== undefined) {
3338
+ localVarQueryParameter['maximumBasketPercent'] = maximumBasketPercent;
3339
+ }
3340
+
3341
+ if (minimumTraffic !== undefined) {
3342
+ localVarQueryParameter['minimumTraffic'] = minimumTraffic;
3343
+ }
3344
+
3345
+ if (maximumTraffic !== undefined) {
3346
+ localVarQueryParameter['maximumTraffic'] = maximumTraffic;
3347
+ }
3348
+
3215
3349
  localVarHeaderParameter['Accept'] = 'text/csv; charset=utf-8,application/json';
3216
3350
 
3217
3351
  setSearchParams(localVarUrlObj, localVarQueryParameter);
@@ -3223,18 +3357,72 @@ export const ProductAnalyticsApiAxiosParamCreator = function (configuration?: Co
3223
3357
  options: localVarRequestOptions,
3224
3358
  };
3225
3359
  },
3360
+ /**
3361
+ * Get the AI-generated summary of the product analytics for the given project.
3362
+ * @summary Get product analytics summary
3363
+ * @param {string} project What project it is
3364
+ * @param {*} [options] Override http request option.
3365
+ * @throws {RequiredError}
3366
+ */
3367
+ getProductAnalyticsSummary: async (project: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
3368
+ // verify required parameter 'project' is not null or undefined
3369
+ assertParamExists('getProductAnalyticsSummary', 'project', project)
3370
+ const localVarPath = `/v1/catalog/analytics/summary`;
3371
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
3372
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
3373
+ let baseOptions;
3374
+ if (configuration) {
3375
+ baseOptions = configuration.baseOptions;
3376
+ }
3377
+
3378
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
3379
+ const localVarHeaderParameter = {} as any;
3380
+ const localVarQueryParameter = {} as any;
3381
+
3382
+ // authentication session-oauth required
3383
+ // oauth required
3384
+ await setOAuthToObject(localVarHeaderParameter, "session-oauth", [], configuration)
3385
+
3386
+ // authentication api-key required
3387
+ await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
3388
+
3389
+ if (project !== undefined) {
3390
+ localVarQueryParameter['project'] = project;
3391
+ }
3392
+
3393
+ localVarHeaderParameter['Accept'] = 'application/json';
3394
+
3395
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
3396
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
3397
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
3398
+
3399
+ return {
3400
+ url: toPathString(localVarUrlObj),
3401
+ options: localVarRequestOptions,
3402
+ };
3403
+ },
3226
3404
  /**
3227
3405
  * Lists all product analytics items.
3228
3406
  * @summary List product analytics
3229
3407
  * @param {string} project What project it is
3230
3408
  * @param {number} [pageToken] Page reference token
3409
+ * @param {number} [pageSize] Max page size. This is the maximum page size that will be returned, but it might be smaller.
3231
3410
  * @param {string} [search] Search query string to filter results. Supports field-specific filters like: \&#39;enabled:true\&#39;, \&#39;gfn_product_ids:&lt;id&gt;\&#39;, \&#39;tag:\&quot;tag name\&quot;\&#39;, \&#39;internal_tag:\&quot;internal tag name\&quot;\&#39;, \&#39;includeArchived:false\&#39;, \&#39;hasSearchPhrase:false\&#39;, \&#39;inDataFeeds:true\&#39;, \&#39;aiOptimised:true\&#39;, \&#39;productType:&lt;id&gt;\&#39;, \&#39;genderGroup:\&quot;male,female,unisex\&quot;\&#39;, \&#39;hasBarcode:true\&#39;, \&#39;onSale:true\&#39;, \&#39;type:product,template,bundle\&#39;, \&#39;collection:&lt;id&gt;\&#39;. Multiple filters can be combined with spaces and commas.
3232
3411
  * @param {Array<string>} [sortBy] An array of fields to sort by, prefixed with a \&#39;-\&#39; for descending order or \&#39;+\&#39; for ascending. Default is ascending.
3233
- * @param {number} [pageSize] Max page size. This is the maximum page size that will be returned, but it might be smaller.
3412
+ * @param {string} [dateRangeStartDate] Start date for the date range filter (ISO 8601 format)
3413
+ * @param {string} [dateRangeEndDate] End date for the date range filter (ISO 8601 format)
3414
+ * @param {number} [minimumRevenue] Filter to only include products with total revenue greater than or equal to this amount
3415
+ * @param {number} [maximumRevenue] Filter to only include products with total revenue less than or equal to this amount
3416
+ * @param {number} [minimumSales] Filter to only include products with total sales greater than or equal to this number
3417
+ * @param {number} [maximumSales] Filter to only include products with total sales less than or equal to this number
3418
+ * @param {number} [minimumBasketPercent] Filter to only include products where the average basket percentage is greater than or equal to this value
3419
+ * @param {number} [maximumBasketPercent] Filter to only include products where the average basket percentage is less than or equal to this value
3420
+ * @param {number} [minimumTraffic] Filter to only include products with total traffic greater than or equal to this number
3421
+ * @param {number} [maximumTraffic] Filter to only include products with total traffic less than or equal to this number
3234
3422
  * @param {*} [options] Override http request option.
3235
3423
  * @throws {RequiredError}
3236
3424
  */
3237
- listProductAnalytics: async (project: string, pageToken?: number, search?: string, sortBy?: Array<string>, pageSize?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
3425
+ listProductAnalytics: async (project: string, pageToken?: number, pageSize?: number, search?: string, sortBy?: Array<string>, dateRangeStartDate?: string, dateRangeEndDate?: string, minimumRevenue?: number, maximumRevenue?: number, minimumSales?: number, maximumSales?: number, minimumBasketPercent?: number, maximumBasketPercent?: number, minimumTraffic?: number, maximumTraffic?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
3238
3426
  // verify required parameter 'project' is not null or undefined
3239
3427
  assertParamExists('listProductAnalytics', 'project', project)
3240
3428
  const localVarPath = `/v1/catalog/analytics`;
@@ -3264,6 +3452,10 @@ export const ProductAnalyticsApiAxiosParamCreator = function (configuration?: Co
3264
3452
  localVarQueryParameter['pageToken'] = pageToken;
3265
3453
  }
3266
3454
 
3455
+ if (pageSize !== undefined) {
3456
+ localVarQueryParameter['pageSize'] = pageSize;
3457
+ }
3458
+
3267
3459
  if (search !== undefined) {
3268
3460
  localVarQueryParameter['search'] = search;
3269
3461
  }
@@ -3272,8 +3464,48 @@ export const ProductAnalyticsApiAxiosParamCreator = function (configuration?: Co
3272
3464
  localVarQueryParameter['sortBy'] = sortBy;
3273
3465
  }
3274
3466
 
3275
- if (pageSize !== undefined) {
3276
- localVarQueryParameter['pageSize'] = pageSize;
3467
+ if (dateRangeStartDate !== undefined) {
3468
+ localVarQueryParameter['dateRangeStartDate'] = (dateRangeStartDate as any instanceof Date) ?
3469
+ (dateRangeStartDate as any).toISOString() :
3470
+ dateRangeStartDate;
3471
+ }
3472
+
3473
+ if (dateRangeEndDate !== undefined) {
3474
+ localVarQueryParameter['dateRangeEndDate'] = (dateRangeEndDate as any instanceof Date) ?
3475
+ (dateRangeEndDate as any).toISOString() :
3476
+ dateRangeEndDate;
3477
+ }
3478
+
3479
+ if (minimumRevenue !== undefined) {
3480
+ localVarQueryParameter['minimumRevenue'] = minimumRevenue;
3481
+ }
3482
+
3483
+ if (maximumRevenue !== undefined) {
3484
+ localVarQueryParameter['maximumRevenue'] = maximumRevenue;
3485
+ }
3486
+
3487
+ if (minimumSales !== undefined) {
3488
+ localVarQueryParameter['minimumSales'] = minimumSales;
3489
+ }
3490
+
3491
+ if (maximumSales !== undefined) {
3492
+ localVarQueryParameter['maximumSales'] = maximumSales;
3493
+ }
3494
+
3495
+ if (minimumBasketPercent !== undefined) {
3496
+ localVarQueryParameter['minimumBasketPercent'] = minimumBasketPercent;
3497
+ }
3498
+
3499
+ if (maximumBasketPercent !== undefined) {
3500
+ localVarQueryParameter['maximumBasketPercent'] = maximumBasketPercent;
3501
+ }
3502
+
3503
+ if (minimumTraffic !== undefined) {
3504
+ localVarQueryParameter['minimumTraffic'] = minimumTraffic;
3505
+ }
3506
+
3507
+ if (maximumTraffic !== undefined) {
3508
+ localVarQueryParameter['maximumTraffic'] = maximumTraffic;
3277
3509
  }
3278
3510
 
3279
3511
  localVarHeaderParameter['Accept'] = 'application/json';
@@ -3300,28 +3532,63 @@ export const ProductAnalyticsApiFp = function(configuration?: Configuration) {
3300
3532
  * Exports all products with analytics data in a CSV file.
3301
3533
  * @summary Export product analytics
3302
3534
  * @param {string} project What project it is
3535
+ * @param {Array<string>} [sortBy] An array of fields to sort by, prefixed with a \&#39;-\&#39; for descending order or \&#39;+\&#39; for ascending. Default is ascending.
3536
+ * @param {string} [search] Search query string to filter results. Supports field-specific filters like: \&#39;enabled:true\&#39;, \&#39;gfn_product_ids:&lt;id&gt;\&#39;, \&#39;tag:\&quot;tag name\&quot;\&#39;, \&#39;internal_tag:\&quot;internal tag name\&quot;\&#39;, \&#39;includeArchived:false\&#39;, \&#39;hasSearchPhrase:false\&#39;, \&#39;inDataFeeds:true\&#39;, \&#39;aiOptimised:true\&#39;, \&#39;productType:&lt;id&gt;\&#39;, \&#39;genderGroup:\&quot;male,female,unisex\&quot;\&#39;, \&#39;hasBarcode:true\&#39;, \&#39;onSale:true\&#39;, \&#39;type:product,template,bundle\&#39;, \&#39;collection:&lt;id&gt;\&#39;. Multiple filters can be combined with spaces and commas.
3537
+ * @param {string} [dateRangeStartDate] Start date for the date range filter (ISO 8601 format)
3538
+ * @param {string} [dateRangeEndDate] End date for the date range filter (ISO 8601 format)
3539
+ * @param {number} [minimumRevenue] Filter to only include products with total revenue greater than or equal to this amount
3540
+ * @param {number} [maximumRevenue] Filter to only include products with total revenue less than or equal to this amount
3541
+ * @param {number} [minimumSales] Filter to only include products with total sales greater than or equal to this number
3542
+ * @param {number} [maximumSales] Filter to only include products with total sales less than or equal to this number
3543
+ * @param {number} [minimumBasketPercent] Filter to only include products where the average basket percentage is greater than or equal to this value
3544
+ * @param {number} [maximumBasketPercent] Filter to only include products where the average basket percentage is less than or equal to this value
3545
+ * @param {number} [minimumTraffic] Filter to only include products with total traffic greater than or equal to this number
3546
+ * @param {number} [maximumTraffic] Filter to only include products with total traffic less than or equal to this number
3303
3547
  * @param {*} [options] Override http request option.
3304
3548
  * @throws {RequiredError}
3305
3549
  */
3306
- async exportProductAnalytics(project: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<File>> {
3307
- const localVarAxiosArgs = await localVarAxiosParamCreator.exportProductAnalytics(project, options);
3550
+ async exportProductAnalytics(project: string, sortBy?: Array<string>, search?: string, dateRangeStartDate?: string, dateRangeEndDate?: string, minimumRevenue?: number, maximumRevenue?: number, minimumSales?: number, maximumSales?: number, minimumBasketPercent?: number, maximumBasketPercent?: number, minimumTraffic?: number, maximumTraffic?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<File>> {
3551
+ const localVarAxiosArgs = await localVarAxiosParamCreator.exportProductAnalytics(project, sortBy, search, dateRangeStartDate, dateRangeEndDate, minimumRevenue, maximumRevenue, minimumSales, maximumSales, minimumBasketPercent, maximumBasketPercent, minimumTraffic, maximumTraffic, options);
3308
3552
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
3309
3553
  const localVarOperationServerBasePath = operationServerMap['ProductAnalyticsApi.exportProductAnalytics']?.[localVarOperationServerIndex]?.url;
3310
3554
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
3311
3555
  },
3556
+ /**
3557
+ * Get the AI-generated summary of the product analytics for the given project.
3558
+ * @summary Get product analytics summary
3559
+ * @param {string} project What project it is
3560
+ * @param {*} [options] Override http request option.
3561
+ * @throws {RequiredError}
3562
+ */
3563
+ async getProductAnalyticsSummary(project: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AnalyticsSummary>> {
3564
+ const localVarAxiosArgs = await localVarAxiosParamCreator.getProductAnalyticsSummary(project, options);
3565
+ const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
3566
+ const localVarOperationServerBasePath = operationServerMap['ProductAnalyticsApi.getProductAnalyticsSummary']?.[localVarOperationServerIndex]?.url;
3567
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
3568
+ },
3312
3569
  /**
3313
3570
  * Lists all product analytics items.
3314
3571
  * @summary List product analytics
3315
3572
  * @param {string} project What project it is
3316
3573
  * @param {number} [pageToken] Page reference token
3574
+ * @param {number} [pageSize] Max page size. This is the maximum page size that will be returned, but it might be smaller.
3317
3575
  * @param {string} [search] Search query string to filter results. Supports field-specific filters like: \&#39;enabled:true\&#39;, \&#39;gfn_product_ids:&lt;id&gt;\&#39;, \&#39;tag:\&quot;tag name\&quot;\&#39;, \&#39;internal_tag:\&quot;internal tag name\&quot;\&#39;, \&#39;includeArchived:false\&#39;, \&#39;hasSearchPhrase:false\&#39;, \&#39;inDataFeeds:true\&#39;, \&#39;aiOptimised:true\&#39;, \&#39;productType:&lt;id&gt;\&#39;, \&#39;genderGroup:\&quot;male,female,unisex\&quot;\&#39;, \&#39;hasBarcode:true\&#39;, \&#39;onSale:true\&#39;, \&#39;type:product,template,bundle\&#39;, \&#39;collection:&lt;id&gt;\&#39;. Multiple filters can be combined with spaces and commas.
3318
3576
  * @param {Array<string>} [sortBy] An array of fields to sort by, prefixed with a \&#39;-\&#39; for descending order or \&#39;+\&#39; for ascending. Default is ascending.
3319
- * @param {number} [pageSize] Max page size. This is the maximum page size that will be returned, but it might be smaller.
3577
+ * @param {string} [dateRangeStartDate] Start date for the date range filter (ISO 8601 format)
3578
+ * @param {string} [dateRangeEndDate] End date for the date range filter (ISO 8601 format)
3579
+ * @param {number} [minimumRevenue] Filter to only include products with total revenue greater than or equal to this amount
3580
+ * @param {number} [maximumRevenue] Filter to only include products with total revenue less than or equal to this amount
3581
+ * @param {number} [minimumSales] Filter to only include products with total sales greater than or equal to this number
3582
+ * @param {number} [maximumSales] Filter to only include products with total sales less than or equal to this number
3583
+ * @param {number} [minimumBasketPercent] Filter to only include products where the average basket percentage is greater than or equal to this value
3584
+ * @param {number} [maximumBasketPercent] Filter to only include products where the average basket percentage is less than or equal to this value
3585
+ * @param {number} [minimumTraffic] Filter to only include products with total traffic greater than or equal to this number
3586
+ * @param {number} [maximumTraffic] Filter to only include products with total traffic less than or equal to this number
3320
3587
  * @param {*} [options] Override http request option.
3321
3588
  * @throws {RequiredError}
3322
3589
  */
3323
- async listProductAnalytics(project: string, pageToken?: number, search?: string, sortBy?: Array<string>, pageSize?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProductAnalyticsResponse>> {
3324
- const localVarAxiosArgs = await localVarAxiosParamCreator.listProductAnalytics(project, pageToken, search, sortBy, pageSize, options);
3590
+ async listProductAnalytics(project: string, pageToken?: number, pageSize?: number, search?: string, sortBy?: Array<string>, dateRangeStartDate?: string, dateRangeEndDate?: string, minimumRevenue?: number, maximumRevenue?: number, minimumSales?: number, maximumSales?: number, minimumBasketPercent?: number, maximumBasketPercent?: number, minimumTraffic?: number, maximumTraffic?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProductAnalyticsResponse>> {
3591
+ const localVarAxiosArgs = await localVarAxiosParamCreator.listProductAnalytics(project, pageToken, pageSize, search, sortBy, dateRangeStartDate, dateRangeEndDate, minimumRevenue, maximumRevenue, minimumSales, maximumSales, minimumBasketPercent, maximumBasketPercent, minimumTraffic, maximumTraffic, options);
3325
3592
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
3326
3593
  const localVarOperationServerBasePath = operationServerMap['ProductAnalyticsApi.listProductAnalytics']?.[localVarOperationServerIndex]?.url;
3327
3594
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
@@ -3343,7 +3610,17 @@ export const ProductAnalyticsApiFactory = function (configuration?: Configuratio
3343
3610
  * @throws {RequiredError}
3344
3611
  */
3345
3612
  exportProductAnalytics(requestParameters: ProductAnalyticsApiExportProductAnalyticsRequest, options?: RawAxiosRequestConfig): AxiosPromise<File> {
3346
- return localVarFp.exportProductAnalytics(requestParameters.project, options).then((request) => request(axios, basePath));
3613
+ return localVarFp.exportProductAnalytics(requestParameters.project, requestParameters.sortBy, requestParameters.search, requestParameters.dateRangeStartDate, requestParameters.dateRangeEndDate, requestParameters.minimumRevenue, requestParameters.maximumRevenue, requestParameters.minimumSales, requestParameters.maximumSales, requestParameters.minimumBasketPercent, requestParameters.maximumBasketPercent, requestParameters.minimumTraffic, requestParameters.maximumTraffic, options).then((request) => request(axios, basePath));
3614
+ },
3615
+ /**
3616
+ * Get the AI-generated summary of the product analytics for the given project.
3617
+ * @summary Get product analytics summary
3618
+ * @param {ProductAnalyticsApiGetProductAnalyticsSummaryRequest} requestParameters Request parameters.
3619
+ * @param {*} [options] Override http request option.
3620
+ * @throws {RequiredError}
3621
+ */
3622
+ getProductAnalyticsSummary(requestParameters: ProductAnalyticsApiGetProductAnalyticsSummaryRequest, options?: RawAxiosRequestConfig): AxiosPromise<AnalyticsSummary> {
3623
+ return localVarFp.getProductAnalyticsSummary(requestParameters.project, options).then((request) => request(axios, basePath));
3347
3624
  },
3348
3625
  /**
3349
3626
  * Lists all product analytics items.
@@ -3353,7 +3630,7 @@ export const ProductAnalyticsApiFactory = function (configuration?: Configuratio
3353
3630
  * @throws {RequiredError}
3354
3631
  */
3355
3632
  listProductAnalytics(requestParameters: ProductAnalyticsApiListProductAnalyticsRequest, options?: RawAxiosRequestConfig): AxiosPromise<ProductAnalyticsResponse> {
3356
- return localVarFp.listProductAnalytics(requestParameters.project, requestParameters.pageToken, requestParameters.search, requestParameters.sortBy, requestParameters.pageSize, options).then((request) => request(axios, basePath));
3633
+ return localVarFp.listProductAnalytics(requestParameters.project, requestParameters.pageToken, requestParameters.pageSize, requestParameters.search, requestParameters.sortBy, requestParameters.dateRangeStartDate, requestParameters.dateRangeEndDate, requestParameters.minimumRevenue, requestParameters.maximumRevenue, requestParameters.minimumSales, requestParameters.maximumSales, requestParameters.minimumBasketPercent, requestParameters.maximumBasketPercent, requestParameters.minimumTraffic, requestParameters.maximumTraffic, options).then((request) => request(axios, basePath));
3357
3634
  },
3358
3635
  };
3359
3636
  };
@@ -3366,6 +3643,76 @@ export interface ProductAnalyticsApiExportProductAnalyticsRequest {
3366
3643
  * What project it is
3367
3644
  */
3368
3645
  readonly project: string
3646
+
3647
+ /**
3648
+ * An array of fields to sort by, prefixed with a \&#39;-\&#39; for descending order or \&#39;+\&#39; for ascending. Default is ascending.
3649
+ */
3650
+ readonly sortBy?: Array<string>
3651
+
3652
+ /**
3653
+ * Search query string to filter results. Supports field-specific filters like: \&#39;enabled:true\&#39;, \&#39;gfn_product_ids:&lt;id&gt;\&#39;, \&#39;tag:\&quot;tag name\&quot;\&#39;, \&#39;internal_tag:\&quot;internal tag name\&quot;\&#39;, \&#39;includeArchived:false\&#39;, \&#39;hasSearchPhrase:false\&#39;, \&#39;inDataFeeds:true\&#39;, \&#39;aiOptimised:true\&#39;, \&#39;productType:&lt;id&gt;\&#39;, \&#39;genderGroup:\&quot;male,female,unisex\&quot;\&#39;, \&#39;hasBarcode:true\&#39;, \&#39;onSale:true\&#39;, \&#39;type:product,template,bundle\&#39;, \&#39;collection:&lt;id&gt;\&#39;. Multiple filters can be combined with spaces and commas.
3654
+ */
3655
+ readonly search?: string
3656
+
3657
+ /**
3658
+ * Start date for the date range filter (ISO 8601 format)
3659
+ */
3660
+ readonly dateRangeStartDate?: string
3661
+
3662
+ /**
3663
+ * End date for the date range filter (ISO 8601 format)
3664
+ */
3665
+ readonly dateRangeEndDate?: string
3666
+
3667
+ /**
3668
+ * Filter to only include products with total revenue greater than or equal to this amount
3669
+ */
3670
+ readonly minimumRevenue?: number
3671
+
3672
+ /**
3673
+ * Filter to only include products with total revenue less than or equal to this amount
3674
+ */
3675
+ readonly maximumRevenue?: number
3676
+
3677
+ /**
3678
+ * Filter to only include products with total sales greater than or equal to this number
3679
+ */
3680
+ readonly minimumSales?: number
3681
+
3682
+ /**
3683
+ * Filter to only include products with total sales less than or equal to this number
3684
+ */
3685
+ readonly maximumSales?: number
3686
+
3687
+ /**
3688
+ * Filter to only include products where the average basket percentage is greater than or equal to this value
3689
+ */
3690
+ readonly minimumBasketPercent?: number
3691
+
3692
+ /**
3693
+ * Filter to only include products where the average basket percentage is less than or equal to this value
3694
+ */
3695
+ readonly maximumBasketPercent?: number
3696
+
3697
+ /**
3698
+ * Filter to only include products with total traffic greater than or equal to this number
3699
+ */
3700
+ readonly minimumTraffic?: number
3701
+
3702
+ /**
3703
+ * Filter to only include products with total traffic less than or equal to this number
3704
+ */
3705
+ readonly maximumTraffic?: number
3706
+ }
3707
+
3708
+ /**
3709
+ * Request parameters for getProductAnalyticsSummary operation in ProductAnalyticsApi.
3710
+ */
3711
+ export interface ProductAnalyticsApiGetProductAnalyticsSummaryRequest {
3712
+ /**
3713
+ * What project it is
3714
+ */
3715
+ readonly project: string
3369
3716
  }
3370
3717
 
3371
3718
  /**
@@ -3382,6 +3729,11 @@ export interface ProductAnalyticsApiListProductAnalyticsRequest {
3382
3729
  */
3383
3730
  readonly pageToken?: number
3384
3731
 
3732
+ /**
3733
+ * Max page size. This is the maximum page size that will be returned, but it might be smaller.
3734
+ */
3735
+ readonly pageSize?: number
3736
+
3385
3737
  /**
3386
3738
  * Search query string to filter results. Supports field-specific filters like: \&#39;enabled:true\&#39;, \&#39;gfn_product_ids:&lt;id&gt;\&#39;, \&#39;tag:\&quot;tag name\&quot;\&#39;, \&#39;internal_tag:\&quot;internal tag name\&quot;\&#39;, \&#39;includeArchived:false\&#39;, \&#39;hasSearchPhrase:false\&#39;, \&#39;inDataFeeds:true\&#39;, \&#39;aiOptimised:true\&#39;, \&#39;productType:&lt;id&gt;\&#39;, \&#39;genderGroup:\&quot;male,female,unisex\&quot;\&#39;, \&#39;hasBarcode:true\&#39;, \&#39;onSale:true\&#39;, \&#39;type:product,template,bundle\&#39;, \&#39;collection:&lt;id&gt;\&#39;. Multiple filters can be combined with spaces and commas.
3387
3739
  */
@@ -3393,9 +3745,54 @@ export interface ProductAnalyticsApiListProductAnalyticsRequest {
3393
3745
  readonly sortBy?: Array<string>
3394
3746
 
3395
3747
  /**
3396
- * Max page size. This is the maximum page size that will be returned, but it might be smaller.
3748
+ * Start date for the date range filter (ISO 8601 format)
3397
3749
  */
3398
- readonly pageSize?: number
3750
+ readonly dateRangeStartDate?: string
3751
+
3752
+ /**
3753
+ * End date for the date range filter (ISO 8601 format)
3754
+ */
3755
+ readonly dateRangeEndDate?: string
3756
+
3757
+ /**
3758
+ * Filter to only include products with total revenue greater than or equal to this amount
3759
+ */
3760
+ readonly minimumRevenue?: number
3761
+
3762
+ /**
3763
+ * Filter to only include products with total revenue less than or equal to this amount
3764
+ */
3765
+ readonly maximumRevenue?: number
3766
+
3767
+ /**
3768
+ * Filter to only include products with total sales greater than or equal to this number
3769
+ */
3770
+ readonly minimumSales?: number
3771
+
3772
+ /**
3773
+ * Filter to only include products with total sales less than or equal to this number
3774
+ */
3775
+ readonly maximumSales?: number
3776
+
3777
+ /**
3778
+ * Filter to only include products where the average basket percentage is greater than or equal to this value
3779
+ */
3780
+ readonly minimumBasketPercent?: number
3781
+
3782
+ /**
3783
+ * Filter to only include products where the average basket percentage is less than or equal to this value
3784
+ */
3785
+ readonly maximumBasketPercent?: number
3786
+
3787
+ /**
3788
+ * Filter to only include products with total traffic greater than or equal to this number
3789
+ */
3790
+ readonly minimumTraffic?: number
3791
+
3792
+ /**
3793
+ * Filter to only include products with total traffic less than or equal to this number
3794
+ */
3795
+ readonly maximumTraffic?: number
3399
3796
  }
3400
3797
 
3401
3798
  /**
@@ -3410,7 +3807,18 @@ export class ProductAnalyticsApi extends BaseAPI {
3410
3807
  * @throws {RequiredError}
3411
3808
  */
3412
3809
  public exportProductAnalytics(requestParameters: ProductAnalyticsApiExportProductAnalyticsRequest, options?: RawAxiosRequestConfig) {
3413
- return ProductAnalyticsApiFp(this.configuration).exportProductAnalytics(requestParameters.project, options).then((request) => request(this.axios, this.basePath));
3810
+ return ProductAnalyticsApiFp(this.configuration).exportProductAnalytics(requestParameters.project, requestParameters.sortBy, requestParameters.search, requestParameters.dateRangeStartDate, requestParameters.dateRangeEndDate, requestParameters.minimumRevenue, requestParameters.maximumRevenue, requestParameters.minimumSales, requestParameters.maximumSales, requestParameters.minimumBasketPercent, requestParameters.maximumBasketPercent, requestParameters.minimumTraffic, requestParameters.maximumTraffic, options).then((request) => request(this.axios, this.basePath));
3811
+ }
3812
+
3813
+ /**
3814
+ * Get the AI-generated summary of the product analytics for the given project.
3815
+ * @summary Get product analytics summary
3816
+ * @param {ProductAnalyticsApiGetProductAnalyticsSummaryRequest} requestParameters Request parameters.
3817
+ * @param {*} [options] Override http request option.
3818
+ * @throws {RequiredError}
3819
+ */
3820
+ public getProductAnalyticsSummary(requestParameters: ProductAnalyticsApiGetProductAnalyticsSummaryRequest, options?: RawAxiosRequestConfig) {
3821
+ return ProductAnalyticsApiFp(this.configuration).getProductAnalyticsSummary(requestParameters.project, options).then((request) => request(this.axios, this.basePath));
3414
3822
  }
3415
3823
 
3416
3824
  /**
@@ -3421,7 +3829,7 @@ export class ProductAnalyticsApi extends BaseAPI {
3421
3829
  * @throws {RequiredError}
3422
3830
  */
3423
3831
  public listProductAnalytics(requestParameters: ProductAnalyticsApiListProductAnalyticsRequest, options?: RawAxiosRequestConfig) {
3424
- return ProductAnalyticsApiFp(this.configuration).listProductAnalytics(requestParameters.project, requestParameters.pageToken, requestParameters.search, requestParameters.sortBy, requestParameters.pageSize, options).then((request) => request(this.axios, this.basePath));
3832
+ return ProductAnalyticsApiFp(this.configuration).listProductAnalytics(requestParameters.project, requestParameters.pageToken, requestParameters.pageSize, requestParameters.search, requestParameters.sortBy, requestParameters.dateRangeStartDate, requestParameters.dateRangeEndDate, requestParameters.minimumRevenue, requestParameters.maximumRevenue, requestParameters.minimumSales, requestParameters.maximumSales, requestParameters.minimumBasketPercent, requestParameters.maximumBasketPercent, requestParameters.minimumTraffic, requestParameters.maximumTraffic, options).then((request) => request(this.axios, this.basePath));
3425
3833
  }
3426
3834
  }
3427
3835
 
package/base.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * Product Catalog API
5
5
  * Manage your Product Catalog. A catalog product is an object that represents a product listing that can be purchased from the given project. It contains a combination of design applications and a warehouse product, plus listing information such as title, description and tags.
6
6
  *
7
- * The version of the OpenAPI document: 1.84.0
7
+ * The version of the OpenAPI document: 1.86.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
package/common.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * Product Catalog API
5
5
  * Manage your Product Catalog. A catalog product is an object that represents a product listing that can be purchased from the given project. It contains a combination of design applications and a warehouse product, plus listing information such as title, description and tags.
6
6
  *
7
- * The version of the OpenAPI document: 1.84.0
7
+ * The version of the OpenAPI document: 1.86.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).