@teemill/product-catalog 1.90.2 → 1.92.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.
@@ -73,12 +73,14 @@ docs/OptimisationHistoryItem.md
73
73
  docs/Price.md
74
74
  docs/Product.md
75
75
  docs/ProductAdditionalFilesInner.md
76
+ docs/ProductAnalytics.md
76
77
  docs/ProductAnalyticsApi.md
77
78
  docs/ProductAnalyticsResponse.md
78
79
  docs/ProductApplicationSetsInner.md
79
80
  docs/ProductBundleItemsInner.md
80
81
  docs/ProductCreatorsApi.md
81
82
  docs/ProductGfnProduct.md
83
+ docs/ProductStaticCollectionsInner.md
82
84
  docs/ProductType.md
83
85
  docs/ProductTypeListResponse.md
84
86
  docs/ProductTypesApi.md
@@ -109,6 +111,7 @@ docs/UpdateProductRequestBundleItemsInnerConfigValidOptionsInner.md
109
111
  docs/UpdateProductRequestIntegrationConnectionsInner.md
110
112
  docs/UpdateProductsRequest.md
111
113
  docs/UpdateProductsRequestProductsInner.md
114
+ docs/UpdateProductsRequestProductsInnerCollectionsInner.md
112
115
  docs/UpdateProductsRequestProductsInnerIntegrationConnectionsInner.md
113
116
  docs/UpdateProductsRequestProductsInnerLicense.md
114
117
  docs/UpdateProductsRequestProductsInnerSeoMetadata.md
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- ## @teemill/product-catalog@1.90.2
1
+ ## @teemill/product-catalog@1.92.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.90.2 --save
39
+ npm install @teemill/product-catalog@1.92.0 --save
40
40
  ```
41
41
 
42
42
  _unPublished (not recommended):_
@@ -149,10 +149,12 @@ Class | Method | HTTP request | Description
149
149
  - [Price](docs/Price.md)
150
150
  - [Product](docs/Product.md)
151
151
  - [ProductAdditionalFilesInner](docs/ProductAdditionalFilesInner.md)
152
+ - [ProductAnalytics](docs/ProductAnalytics.md)
152
153
  - [ProductAnalyticsResponse](docs/ProductAnalyticsResponse.md)
153
154
  - [ProductApplicationSetsInner](docs/ProductApplicationSetsInner.md)
154
155
  - [ProductBundleItemsInner](docs/ProductBundleItemsInner.md)
155
156
  - [ProductGfnProduct](docs/ProductGfnProduct.md)
157
+ - [ProductStaticCollectionsInner](docs/ProductStaticCollectionsInner.md)
156
158
  - [ProductType](docs/ProductType.md)
157
159
  - [ProductTypeListResponse](docs/ProductTypeListResponse.md)
158
160
  - [ProductWarehouseProduct](docs/ProductWarehouseProduct.md)
@@ -181,6 +183,7 @@ Class | Method | HTTP request | Description
181
183
  - [UpdateProductRequestIntegrationConnectionsInner](docs/UpdateProductRequestIntegrationConnectionsInner.md)
182
184
  - [UpdateProductsRequest](docs/UpdateProductsRequest.md)
183
185
  - [UpdateProductsRequestProductsInner](docs/UpdateProductsRequestProductsInner.md)
186
+ - [UpdateProductsRequestProductsInnerCollectionsInner](docs/UpdateProductsRequestProductsInnerCollectionsInner.md)
184
187
  - [UpdateProductsRequestProductsInnerIntegrationConnectionsInner](docs/UpdateProductsRequestProductsInnerIntegrationConnectionsInner.md)
185
188
  - [UpdateProductsRequestProductsInnerLicense](docs/UpdateProductsRequestProductsInnerLicense.md)
186
189
  - [UpdateProductsRequestProductsInnerSeoMetadata](docs/UpdateProductsRequestProductsInnerSeoMetadata.md)
package/api.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * Product Catalog
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 product from the GFN Catalog, plus listing information such as title, description and tags.
6
6
  *
7
- * The version of the OpenAPI document: 1.90.2
7
+ * The version of the OpenAPI document: 1.92.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -894,6 +894,10 @@ export interface CreateProduct {
894
894
  * For use with the Shopify integration. Use this to provide a Shopify product ID to link to an existing Shopify product rather than creating a new one.
895
895
  */
896
896
  'shopifyId'?: number | null;
897
+ /**
898
+ * An exclusive list of collection IDs to assign to the product. Replaces all existing static collection memberships. Requires the website integration.
899
+ */
900
+ 'collections'?: Array<UpdateProductsRequestProductsInnerCollectionsInner>;
897
901
  /**
898
902
  * Key/value pairs that can be used to store additional information about the product
899
903
  */
@@ -1242,6 +1246,11 @@ export interface Product {
1242
1246
  * Whether the product is digital
1243
1247
  */
1244
1248
  'isDigital'?: boolean;
1249
+ 'analytics'?: ProductAnalytics;
1250
+ /**
1251
+ * The static (non-dynamic/filter-based) collections this product belongs to.
1252
+ */
1253
+ 'staticCollections'?: Array<ProductStaticCollectionsInner>;
1245
1254
  }
1246
1255
  export interface ProductAdditionalFilesInner {
1247
1256
  /**
@@ -1253,6 +1262,31 @@ export interface ProductAdditionalFilesInner {
1253
1262
  */
1254
1263
  'src'?: string;
1255
1264
  }
1265
+ /**
1266
+ * Product analytics metrics. Only present when \'analytics\' is included in the fields query parameter.
1267
+ */
1268
+ export interface ProductAnalytics {
1269
+ /**
1270
+ * Total revenue for this product within the date range
1271
+ */
1272
+ 'revenue'?: number;
1273
+ /**
1274
+ * Total number of sales for this product within the date range
1275
+ */
1276
+ 'sales'?: number;
1277
+ /**
1278
+ * Total page views for this product within the date range
1279
+ */
1280
+ 'traffic'?: number;
1281
+ /**
1282
+ * Conversion rate as a percentage (sales / traffic * 100)
1283
+ */
1284
+ 'conversionRate'?: number;
1285
+ /**
1286
+ * Basket rate as a percentage (cart adds / traffic * 100)
1287
+ */
1288
+ 'basketRate'?: number;
1289
+ }
1256
1290
  export interface ProductAnalyticsResponse {
1257
1291
  'analytics'?: Array<AnalyticsItem>;
1258
1292
  }
@@ -1375,6 +1409,10 @@ export interface ProductGfnProduct {
1375
1409
  */
1376
1410
  'metafields'?: Array<MetaField>;
1377
1411
  }
1412
+ export interface ProductStaticCollectionsInner {
1413
+ 'id'?: string;
1414
+ 'title'?: string;
1415
+ }
1378
1416
  export interface ProductType {
1379
1417
  /**
1380
1418
  * Unique object identifier
@@ -1800,6 +1838,10 @@ export interface UpdateProductRequest {
1800
1838
  * Whether to show a sale badge on the product
1801
1839
  */
1802
1840
  'showSaleBadge'?: boolean;
1841
+ /**
1842
+ * An exclusive list of collection IDs to assign to the product. Replaces all existing static collection memberships. Requires the website integration.
1843
+ */
1844
+ 'collections'?: Array<UpdateProductsRequestProductsInnerCollectionsInner>;
1803
1845
  }
1804
1846
  export interface UpdateProductRequestBundleItemsInner {
1805
1847
  /**
@@ -1882,8 +1924,15 @@ export interface UpdateProductsRequestProductsInner {
1882
1924
  * Whether to show a sale badge on the product
1883
1925
  */
1884
1926
  'showSaleBadge'?: boolean;
1927
+ /**
1928
+ * An exclusive list of collection IDs to assign to the product. Replaces all existing static collection memberships. Requires the website integration.
1929
+ */
1930
+ 'collections'?: Array<UpdateProductsRequestProductsInnerCollectionsInner>;
1885
1931
  'license'?: UpdateProductsRequestProductsInnerLicense;
1886
1932
  }
1933
+ export interface UpdateProductsRequestProductsInnerCollectionsInner {
1934
+ 'id': string;
1935
+ }
1887
1936
  export interface UpdateProductsRequestProductsInnerIntegrationConnectionsInner {
1888
1937
  'integrationCode': string;
1889
1938
  /**
@@ -4747,10 +4796,24 @@ export const ProductsApiAxiosParamCreator = function (configuration?: Configurat
4747
4796
  * @param {number} [minRetailPrice] Specify the minimum retail price to filter by. Products will be included so long as either at least one variant or the product itself (in the case of bundles) has a retail price greater than or equal to the specified value.
4748
4797
  * @param {number} [pageSize] Max page size. This is the maximum page size that will be returned, but it might be smaller.
4749
4798
  * @param {string} [fields] Filter response fields to only include a subset of the resource.
4799
+ * @param {string} [dateRangeStartDate] Start date for the date range filter (ISO 8601 format)
4800
+ * @param {string} [dateRangeEndDate] End date for the date range filter (ISO 8601 format)
4801
+ * @param {number} [minimumRevenue] Filter to only include products with total revenue greater than or equal to this amount
4802
+ * @param {number} [maximumRevenue] Filter to only include products with total revenue less than or equal to this amount
4803
+ * @param {number} [minimumSales] Filter to only include products with total sales greater than or equal to this number
4804
+ * @param {number} [maximumSales] Filter to only include products with total sales less than or equal to this number
4805
+ * @param {number} [minimumBasketPercent] Filter to only include products where the average basket percentage is greater than or equal to this value
4806
+ * @param {number} [maximumBasketPercent] Filter to only include products where the average basket percentage is less than or equal to this value
4807
+ * @param {number} [minimumTraffic] Filter to only include products with total traffic greater than or equal to this number
4808
+ * @param {number} [maximumTraffic] Filter to only include products with total traffic less than or equal to this number
4809
+ * @param {string} [createdBefore] Filter to only include products created before the given date
4810
+ * @param {string} [createdAfter] Filter to only include products created after the given date
4811
+ * @param {string} [updatedBefore] Filter to only include products updated before the given date
4812
+ * @param {string} [updatedAfter] Filter to only include products updated after the given date
4750
4813
  * @param {*} [options] Override http request option.
4751
4814
  * @throws {RequiredError}
4752
4815
  */
4753
- listProducts: async (project: string, pageToken?: number, search?: string, sortBy?: Array<string>, start?: string, end?: string, dateFilterType?: ListProductsDateFilterTypeEnum, maxRetailPrice?: number, minRetailPrice?: number, pageSize?: number, fields?: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
4816
+ listProducts: async (project: string, pageToken?: number, search?: string, sortBy?: Array<string>, start?: string, end?: string, dateFilterType?: ListProductsDateFilterTypeEnum, maxRetailPrice?: number, minRetailPrice?: number, pageSize?: number, fields?: string, dateRangeStartDate?: string, dateRangeEndDate?: string, minimumRevenue?: number, maximumRevenue?: number, minimumSales?: number, maximumSales?: number, minimumBasketPercent?: number, maximumBasketPercent?: number, minimumTraffic?: number, maximumTraffic?: number, createdBefore?: string, createdAfter?: string, updatedBefore?: string, updatedAfter?: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
4754
4817
  // verify required parameter 'project' is not null or undefined
4755
4818
  assertParamExists('listProducts', 'project', project)
4756
4819
  const localVarPath = `/v1/catalog/products`;
@@ -4820,6 +4883,74 @@ export const ProductsApiAxiosParamCreator = function (configuration?: Configurat
4820
4883
  localVarQueryParameter['fields'] = fields;
4821
4884
  }
4822
4885
 
4886
+ if (dateRangeStartDate !== undefined) {
4887
+ localVarQueryParameter['dateRangeStartDate'] = (dateRangeStartDate as any instanceof Date) ?
4888
+ (dateRangeStartDate as any).toISOString() :
4889
+ dateRangeStartDate;
4890
+ }
4891
+
4892
+ if (dateRangeEndDate !== undefined) {
4893
+ localVarQueryParameter['dateRangeEndDate'] = (dateRangeEndDate as any instanceof Date) ?
4894
+ (dateRangeEndDate as any).toISOString() :
4895
+ dateRangeEndDate;
4896
+ }
4897
+
4898
+ if (minimumRevenue !== undefined) {
4899
+ localVarQueryParameter['minimumRevenue'] = minimumRevenue;
4900
+ }
4901
+
4902
+ if (maximumRevenue !== undefined) {
4903
+ localVarQueryParameter['maximumRevenue'] = maximumRevenue;
4904
+ }
4905
+
4906
+ if (minimumSales !== undefined) {
4907
+ localVarQueryParameter['minimumSales'] = minimumSales;
4908
+ }
4909
+
4910
+ if (maximumSales !== undefined) {
4911
+ localVarQueryParameter['maximumSales'] = maximumSales;
4912
+ }
4913
+
4914
+ if (minimumBasketPercent !== undefined) {
4915
+ localVarQueryParameter['minimumBasketPercent'] = minimumBasketPercent;
4916
+ }
4917
+
4918
+ if (maximumBasketPercent !== undefined) {
4919
+ localVarQueryParameter['maximumBasketPercent'] = maximumBasketPercent;
4920
+ }
4921
+
4922
+ if (minimumTraffic !== undefined) {
4923
+ localVarQueryParameter['minimumTraffic'] = minimumTraffic;
4924
+ }
4925
+
4926
+ if (maximumTraffic !== undefined) {
4927
+ localVarQueryParameter['maximumTraffic'] = maximumTraffic;
4928
+ }
4929
+
4930
+ if (createdBefore !== undefined) {
4931
+ localVarQueryParameter['createdBefore'] = (createdBefore as any instanceof Date) ?
4932
+ (createdBefore as any).toISOString() :
4933
+ createdBefore;
4934
+ }
4935
+
4936
+ if (createdAfter !== undefined) {
4937
+ localVarQueryParameter['createdAfter'] = (createdAfter as any instanceof Date) ?
4938
+ (createdAfter as any).toISOString() :
4939
+ createdAfter;
4940
+ }
4941
+
4942
+ if (updatedBefore !== undefined) {
4943
+ localVarQueryParameter['updatedBefore'] = (updatedBefore as any instanceof Date) ?
4944
+ (updatedBefore as any).toISOString() :
4945
+ updatedBefore;
4946
+ }
4947
+
4948
+ if (updatedAfter !== undefined) {
4949
+ localVarQueryParameter['updatedAfter'] = (updatedAfter as any instanceof Date) ?
4950
+ (updatedAfter as any).toISOString() :
4951
+ updatedAfter;
4952
+ }
4953
+
4823
4954
  localVarHeaderParameter['Accept'] = 'application/json';
4824
4955
 
4825
4956
  setSearchParams(localVarUrlObj, localVarQueryParameter);
@@ -5105,11 +5236,25 @@ export const ProductsApiFp = function(configuration?: Configuration) {
5105
5236
  * @param {number} [minRetailPrice] Specify the minimum retail price to filter by. Products will be included so long as either at least one variant or the product itself (in the case of bundles) has a retail price greater than or equal to the specified value.
5106
5237
  * @param {number} [pageSize] Max page size. This is the maximum page size that will be returned, but it might be smaller.
5107
5238
  * @param {string} [fields] Filter response fields to only include a subset of the resource.
5239
+ * @param {string} [dateRangeStartDate] Start date for the date range filter (ISO 8601 format)
5240
+ * @param {string} [dateRangeEndDate] End date for the date range filter (ISO 8601 format)
5241
+ * @param {number} [minimumRevenue] Filter to only include products with total revenue greater than or equal to this amount
5242
+ * @param {number} [maximumRevenue] Filter to only include products with total revenue less than or equal to this amount
5243
+ * @param {number} [minimumSales] Filter to only include products with total sales greater than or equal to this number
5244
+ * @param {number} [maximumSales] Filter to only include products with total sales less than or equal to this number
5245
+ * @param {number} [minimumBasketPercent] Filter to only include products where the average basket percentage is greater than or equal to this value
5246
+ * @param {number} [maximumBasketPercent] Filter to only include products where the average basket percentage is less than or equal to this value
5247
+ * @param {number} [minimumTraffic] Filter to only include products with total traffic greater than or equal to this number
5248
+ * @param {number} [maximumTraffic] Filter to only include products with total traffic less than or equal to this number
5249
+ * @param {string} [createdBefore] Filter to only include products created before the given date
5250
+ * @param {string} [createdAfter] Filter to only include products created after the given date
5251
+ * @param {string} [updatedBefore] Filter to only include products updated before the given date
5252
+ * @param {string} [updatedAfter] Filter to only include products updated after the given date
5108
5253
  * @param {*} [options] Override http request option.
5109
5254
  * @throws {RequiredError}
5110
5255
  */
5111
- async listProducts(project: string, pageToken?: number, search?: string, sortBy?: Array<string>, start?: string, end?: string, dateFilterType?: ListProductsDateFilterTypeEnum, maxRetailPrice?: number, minRetailPrice?: number, pageSize?: number, fields?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProductsResponse>> {
5112
- const localVarAxiosArgs = await localVarAxiosParamCreator.listProducts(project, pageToken, search, sortBy, start, end, dateFilterType, maxRetailPrice, minRetailPrice, pageSize, fields, options);
5256
+ async listProducts(project: string, pageToken?: number, search?: string, sortBy?: Array<string>, start?: string, end?: string, dateFilterType?: ListProductsDateFilterTypeEnum, maxRetailPrice?: number, minRetailPrice?: number, pageSize?: number, fields?: string, dateRangeStartDate?: string, dateRangeEndDate?: string, minimumRevenue?: number, maximumRevenue?: number, minimumSales?: number, maximumSales?: number, minimumBasketPercent?: number, maximumBasketPercent?: number, minimumTraffic?: number, maximumTraffic?: number, createdBefore?: string, createdAfter?: string, updatedBefore?: string, updatedAfter?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProductsResponse>> {
5257
+ const localVarAxiosArgs = await localVarAxiosParamCreator.listProducts(project, pageToken, search, sortBy, start, end, dateFilterType, maxRetailPrice, minRetailPrice, pageSize, fields, dateRangeStartDate, dateRangeEndDate, minimumRevenue, maximumRevenue, minimumSales, maximumSales, minimumBasketPercent, maximumBasketPercent, minimumTraffic, maximumTraffic, createdBefore, createdAfter, updatedBefore, updatedAfter, options);
5113
5258
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
5114
5259
  const localVarOperationServerBasePath = operationServerMap['ProductsApi.listProducts']?.[localVarOperationServerIndex]?.url;
5115
5260
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
@@ -5244,7 +5389,7 @@ export const ProductsApiFactory = function (configuration?: Configuration, baseP
5244
5389
  * @throws {RequiredError}
5245
5390
  */
5246
5391
  listProducts(requestParameters: ProductsApiListProductsRequest, options?: RawAxiosRequestConfig): AxiosPromise<ProductsResponse> {
5247
- return localVarFp.listProducts(requestParameters.project, requestParameters.pageToken, requestParameters.search, requestParameters.sortBy, requestParameters.start, requestParameters.end, requestParameters.dateFilterType, requestParameters.maxRetailPrice, requestParameters.minRetailPrice, requestParameters.pageSize, requestParameters.fields, options).then((request) => request(axios, basePath));
5392
+ return localVarFp.listProducts(requestParameters.project, requestParameters.pageToken, requestParameters.search, requestParameters.sortBy, requestParameters.start, requestParameters.end, requestParameters.dateFilterType, requestParameters.maxRetailPrice, requestParameters.minRetailPrice, requestParameters.pageSize, requestParameters.fields, requestParameters.dateRangeStartDate, requestParameters.dateRangeEndDate, requestParameters.minimumRevenue, requestParameters.maximumRevenue, requestParameters.minimumSales, requestParameters.maximumSales, requestParameters.minimumBasketPercent, requestParameters.maximumBasketPercent, requestParameters.minimumTraffic, requestParameters.maximumTraffic, requestParameters.createdBefore, requestParameters.createdAfter, requestParameters.updatedBefore, requestParameters.updatedAfter, options).then((request) => request(axios, basePath));
5248
5393
  },
5249
5394
  /**
5250
5395
  * AI SEO optimises products by a set of given IDs.
@@ -5469,6 +5614,76 @@ export interface ProductsApiListProductsRequest {
5469
5614
  * Filter response fields to only include a subset of the resource.
5470
5615
  */
5471
5616
  readonly fields?: string
5617
+
5618
+ /**
5619
+ * Start date for the date range filter (ISO 8601 format)
5620
+ */
5621
+ readonly dateRangeStartDate?: string
5622
+
5623
+ /**
5624
+ * End date for the date range filter (ISO 8601 format)
5625
+ */
5626
+ readonly dateRangeEndDate?: string
5627
+
5628
+ /**
5629
+ * Filter to only include products with total revenue greater than or equal to this amount
5630
+ */
5631
+ readonly minimumRevenue?: number
5632
+
5633
+ /**
5634
+ * Filter to only include products with total revenue less than or equal to this amount
5635
+ */
5636
+ readonly maximumRevenue?: number
5637
+
5638
+ /**
5639
+ * Filter to only include products with total sales greater than or equal to this number
5640
+ */
5641
+ readonly minimumSales?: number
5642
+
5643
+ /**
5644
+ * Filter to only include products with total sales less than or equal to this number
5645
+ */
5646
+ readonly maximumSales?: number
5647
+
5648
+ /**
5649
+ * Filter to only include products where the average basket percentage is greater than or equal to this value
5650
+ */
5651
+ readonly minimumBasketPercent?: number
5652
+
5653
+ /**
5654
+ * Filter to only include products where the average basket percentage is less than or equal to this value
5655
+ */
5656
+ readonly maximumBasketPercent?: number
5657
+
5658
+ /**
5659
+ * Filter to only include products with total traffic greater than or equal to this number
5660
+ */
5661
+ readonly minimumTraffic?: number
5662
+
5663
+ /**
5664
+ * Filter to only include products with total traffic less than or equal to this number
5665
+ */
5666
+ readonly maximumTraffic?: number
5667
+
5668
+ /**
5669
+ * Filter to only include products created before the given date
5670
+ */
5671
+ readonly createdBefore?: string
5672
+
5673
+ /**
5674
+ * Filter to only include products created after the given date
5675
+ */
5676
+ readonly createdAfter?: string
5677
+
5678
+ /**
5679
+ * Filter to only include products updated before the given date
5680
+ */
5681
+ readonly updatedBefore?: string
5682
+
5683
+ /**
5684
+ * Filter to only include products updated after the given date
5685
+ */
5686
+ readonly updatedAfter?: string
5472
5687
  }
5473
5688
 
5474
5689
  /**
@@ -5607,7 +5822,7 @@ export class ProductsApi extends BaseAPI {
5607
5822
  * @throws {RequiredError}
5608
5823
  */
5609
5824
  public listProducts(requestParameters: ProductsApiListProductsRequest, options?: RawAxiosRequestConfig) {
5610
- return ProductsApiFp(this.configuration).listProducts(requestParameters.project, requestParameters.pageToken, requestParameters.search, requestParameters.sortBy, requestParameters.start, requestParameters.end, requestParameters.dateFilterType, requestParameters.maxRetailPrice, requestParameters.minRetailPrice, requestParameters.pageSize, requestParameters.fields, options).then((request) => request(this.axios, this.basePath));
5825
+ return ProductsApiFp(this.configuration).listProducts(requestParameters.project, requestParameters.pageToken, requestParameters.search, requestParameters.sortBy, requestParameters.start, requestParameters.end, requestParameters.dateFilterType, requestParameters.maxRetailPrice, requestParameters.minRetailPrice, requestParameters.pageSize, requestParameters.fields, requestParameters.dateRangeStartDate, requestParameters.dateRangeEndDate, requestParameters.minimumRevenue, requestParameters.maximumRevenue, requestParameters.minimumSales, requestParameters.maximumSales, requestParameters.minimumBasketPercent, requestParameters.maximumBasketPercent, requestParameters.minimumTraffic, requestParameters.maximumTraffic, requestParameters.createdBefore, requestParameters.createdAfter, requestParameters.updatedBefore, requestParameters.updatedAfter, options).then((request) => request(this.axios, this.basePath));
5611
5826
  }
5612
5827
 
5613
5828
  /**
package/base.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * Product Catalog
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 product from the GFN Catalog, plus listing information such as title, description and tags.
6
6
  *
7
- * The version of the OpenAPI document: 1.90.2
7
+ * The version of the OpenAPI document: 1.92.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
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 product from the GFN Catalog, plus listing information such as title, description and tags.
6
6
  *
7
- * The version of the OpenAPI document: 1.90.2
7
+ * The version of the OpenAPI document: 1.92.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
package/configuration.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  * Product Catalog
4
4
  * 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 product from the GFN Catalog, plus listing information such as title, description and tags.
5
5
  *
6
- * The version of the OpenAPI document: 1.90.2
6
+ * The version of the OpenAPI document: 1.92.0
7
7
  *
8
8
  *
9
9
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
package/dist/api.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * Product Catalog
3
3
  * 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 product from the GFN Catalog, plus listing information such as title, description and tags.
4
4
  *
5
- * The version of the OpenAPI document: 1.90.2
5
+ * The version of the OpenAPI document: 1.92.0
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -858,6 +858,10 @@ export interface CreateProduct {
858
858
  * For use with the Shopify integration. Use this to provide a Shopify product ID to link to an existing Shopify product rather than creating a new one.
859
859
  */
860
860
  'shopifyId'?: number | null;
861
+ /**
862
+ * An exclusive list of collection IDs to assign to the product. Replaces all existing static collection memberships. Requires the website integration.
863
+ */
864
+ 'collections'?: Array<UpdateProductsRequestProductsInnerCollectionsInner>;
861
865
  /**
862
866
  * Key/value pairs that can be used to store additional information about the product
863
867
  */
@@ -1199,6 +1203,11 @@ export interface Product {
1199
1203
  * Whether the product is digital
1200
1204
  */
1201
1205
  'isDigital'?: boolean;
1206
+ 'analytics'?: ProductAnalytics;
1207
+ /**
1208
+ * The static (non-dynamic/filter-based) collections this product belongs to.
1209
+ */
1210
+ 'staticCollections'?: Array<ProductStaticCollectionsInner>;
1202
1211
  }
1203
1212
  export interface ProductAdditionalFilesInner {
1204
1213
  /**
@@ -1210,6 +1219,31 @@ export interface ProductAdditionalFilesInner {
1210
1219
  */
1211
1220
  'src'?: string;
1212
1221
  }
1222
+ /**
1223
+ * Product analytics metrics. Only present when \'analytics\' is included in the fields query parameter.
1224
+ */
1225
+ export interface ProductAnalytics {
1226
+ /**
1227
+ * Total revenue for this product within the date range
1228
+ */
1229
+ 'revenue'?: number;
1230
+ /**
1231
+ * Total number of sales for this product within the date range
1232
+ */
1233
+ 'sales'?: number;
1234
+ /**
1235
+ * Total page views for this product within the date range
1236
+ */
1237
+ 'traffic'?: number;
1238
+ /**
1239
+ * Conversion rate as a percentage (sales / traffic * 100)
1240
+ */
1241
+ 'conversionRate'?: number;
1242
+ /**
1243
+ * Basket rate as a percentage (cart adds / traffic * 100)
1244
+ */
1245
+ 'basketRate'?: number;
1246
+ }
1213
1247
  export interface ProductAnalyticsResponse {
1214
1248
  'analytics'?: Array<AnalyticsItem>;
1215
1249
  }
@@ -1332,6 +1366,10 @@ export interface ProductGfnProduct {
1332
1366
  */
1333
1367
  'metafields'?: Array<MetaField>;
1334
1368
  }
1369
+ export interface ProductStaticCollectionsInner {
1370
+ 'id'?: string;
1371
+ 'title'?: string;
1372
+ }
1335
1373
  export interface ProductType {
1336
1374
  /**
1337
1375
  * Unique object identifier
@@ -1741,6 +1779,10 @@ export interface UpdateProductRequest {
1741
1779
  * Whether to show a sale badge on the product
1742
1780
  */
1743
1781
  'showSaleBadge'?: boolean;
1782
+ /**
1783
+ * An exclusive list of collection IDs to assign to the product. Replaces all existing static collection memberships. Requires the website integration.
1784
+ */
1785
+ 'collections'?: Array<UpdateProductsRequestProductsInnerCollectionsInner>;
1744
1786
  }
1745
1787
  export interface UpdateProductRequestBundleItemsInner {
1746
1788
  /**
@@ -1823,8 +1865,15 @@ export interface UpdateProductsRequestProductsInner {
1823
1865
  * Whether to show a sale badge on the product
1824
1866
  */
1825
1867
  'showSaleBadge'?: boolean;
1868
+ /**
1869
+ * An exclusive list of collection IDs to assign to the product. Replaces all existing static collection memberships. Requires the website integration.
1870
+ */
1871
+ 'collections'?: Array<UpdateProductsRequestProductsInnerCollectionsInner>;
1826
1872
  'license'?: UpdateProductsRequestProductsInnerLicense;
1827
1873
  }
1874
+ export interface UpdateProductsRequestProductsInnerCollectionsInner {
1875
+ 'id': string;
1876
+ }
1828
1877
  export interface UpdateProductsRequestProductsInnerIntegrationConnectionsInner {
1829
1878
  'integrationCode': string;
1830
1879
  /**
@@ -3277,10 +3326,24 @@ export declare const ProductsApiAxiosParamCreator: (configuration?: Configuratio
3277
3326
  * @param {number} [minRetailPrice] Specify the minimum retail price to filter by. Products will be included so long as either at least one variant or the product itself (in the case of bundles) has a retail price greater than or equal to the specified value.
3278
3327
  * @param {number} [pageSize] Max page size. This is the maximum page size that will be returned, but it might be smaller.
3279
3328
  * @param {string} [fields] Filter response fields to only include a subset of the resource.
3329
+ * @param {string} [dateRangeStartDate] Start date for the date range filter (ISO 8601 format)
3330
+ * @param {string} [dateRangeEndDate] End date for the date range filter (ISO 8601 format)
3331
+ * @param {number} [minimumRevenue] Filter to only include products with total revenue greater than or equal to this amount
3332
+ * @param {number} [maximumRevenue] Filter to only include products with total revenue less than or equal to this amount
3333
+ * @param {number} [minimumSales] Filter to only include products with total sales greater than or equal to this number
3334
+ * @param {number} [maximumSales] Filter to only include products with total sales less than or equal to this number
3335
+ * @param {number} [minimumBasketPercent] Filter to only include products where the average basket percentage is greater than or equal to this value
3336
+ * @param {number} [maximumBasketPercent] Filter to only include products where the average basket percentage is less than or equal to this value
3337
+ * @param {number} [minimumTraffic] Filter to only include products with total traffic greater than or equal to this number
3338
+ * @param {number} [maximumTraffic] Filter to only include products with total traffic less than or equal to this number
3339
+ * @param {string} [createdBefore] Filter to only include products created before the given date
3340
+ * @param {string} [createdAfter] Filter to only include products created after the given date
3341
+ * @param {string} [updatedBefore] Filter to only include products updated before the given date
3342
+ * @param {string} [updatedAfter] Filter to only include products updated after the given date
3280
3343
  * @param {*} [options] Override http request option.
3281
3344
  * @throws {RequiredError}
3282
3345
  */
3283
- listProducts: (project: string, pageToken?: number, search?: string, sortBy?: Array<string>, start?: string, end?: string, dateFilterType?: ListProductsDateFilterTypeEnum, maxRetailPrice?: number, minRetailPrice?: number, pageSize?: number, fields?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
3346
+ listProducts: (project: string, pageToken?: number, search?: string, sortBy?: Array<string>, start?: string, end?: string, dateFilterType?: ListProductsDateFilterTypeEnum, maxRetailPrice?: number, minRetailPrice?: number, pageSize?: number, fields?: string, dateRangeStartDate?: string, dateRangeEndDate?: string, minimumRevenue?: number, maximumRevenue?: number, minimumSales?: number, maximumSales?: number, minimumBasketPercent?: number, maximumBasketPercent?: number, minimumTraffic?: number, maximumTraffic?: number, createdBefore?: string, createdAfter?: string, updatedBefore?: string, updatedAfter?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
3284
3347
  /**
3285
3348
  * AI SEO optimises products by a set of given IDs.
3286
3349
  * @summary AI SEO optimise products.
@@ -3397,10 +3460,24 @@ export declare const ProductsApiFp: (configuration?: Configuration) => {
3397
3460
  * @param {number} [minRetailPrice] Specify the minimum retail price to filter by. Products will be included so long as either at least one variant or the product itself (in the case of bundles) has a retail price greater than or equal to the specified value.
3398
3461
  * @param {number} [pageSize] Max page size. This is the maximum page size that will be returned, but it might be smaller.
3399
3462
  * @param {string} [fields] Filter response fields to only include a subset of the resource.
3463
+ * @param {string} [dateRangeStartDate] Start date for the date range filter (ISO 8601 format)
3464
+ * @param {string} [dateRangeEndDate] End date for the date range filter (ISO 8601 format)
3465
+ * @param {number} [minimumRevenue] Filter to only include products with total revenue greater than or equal to this amount
3466
+ * @param {number} [maximumRevenue] Filter to only include products with total revenue less than or equal to this amount
3467
+ * @param {number} [minimumSales] Filter to only include products with total sales greater than or equal to this number
3468
+ * @param {number} [maximumSales] Filter to only include products with total sales less than or equal to this number
3469
+ * @param {number} [minimumBasketPercent] Filter to only include products where the average basket percentage is greater than or equal to this value
3470
+ * @param {number} [maximumBasketPercent] Filter to only include products where the average basket percentage is less than or equal to this value
3471
+ * @param {number} [minimumTraffic] Filter to only include products with total traffic greater than or equal to this number
3472
+ * @param {number} [maximumTraffic] Filter to only include products with total traffic less than or equal to this number
3473
+ * @param {string} [createdBefore] Filter to only include products created before the given date
3474
+ * @param {string} [createdAfter] Filter to only include products created after the given date
3475
+ * @param {string} [updatedBefore] Filter to only include products updated before the given date
3476
+ * @param {string} [updatedAfter] Filter to only include products updated after the given date
3400
3477
  * @param {*} [options] Override http request option.
3401
3478
  * @throws {RequiredError}
3402
3479
  */
3403
- listProducts(project: string, pageToken?: number, search?: string, sortBy?: Array<string>, start?: string, end?: string, dateFilterType?: ListProductsDateFilterTypeEnum, maxRetailPrice?: number, minRetailPrice?: number, pageSize?: number, fields?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProductsResponse>>;
3480
+ listProducts(project: string, pageToken?: number, search?: string, sortBy?: Array<string>, start?: string, end?: string, dateFilterType?: ListProductsDateFilterTypeEnum, maxRetailPrice?: number, minRetailPrice?: number, pageSize?: number, fields?: string, dateRangeStartDate?: string, dateRangeEndDate?: string, minimumRevenue?: number, maximumRevenue?: number, minimumSales?: number, maximumSales?: number, minimumBasketPercent?: number, maximumBasketPercent?: number, minimumTraffic?: number, maximumTraffic?: number, createdBefore?: string, createdAfter?: string, updatedBefore?: string, updatedAfter?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProductsResponse>>;
3404
3481
  /**
3405
3482
  * AI SEO optimises products by a set of given IDs.
3406
3483
  * @summary AI SEO optimise products.
@@ -3683,6 +3760,62 @@ export interface ProductsApiListProductsRequest {
3683
3760
  * Filter response fields to only include a subset of the resource.
3684
3761
  */
3685
3762
  readonly fields?: string;
3763
+ /**
3764
+ * Start date for the date range filter (ISO 8601 format)
3765
+ */
3766
+ readonly dateRangeStartDate?: string;
3767
+ /**
3768
+ * End date for the date range filter (ISO 8601 format)
3769
+ */
3770
+ readonly dateRangeEndDate?: string;
3771
+ /**
3772
+ * Filter to only include products with total revenue greater than or equal to this amount
3773
+ */
3774
+ readonly minimumRevenue?: number;
3775
+ /**
3776
+ * Filter to only include products with total revenue less than or equal to this amount
3777
+ */
3778
+ readonly maximumRevenue?: number;
3779
+ /**
3780
+ * Filter to only include products with total sales greater than or equal to this number
3781
+ */
3782
+ readonly minimumSales?: number;
3783
+ /**
3784
+ * Filter to only include products with total sales less than or equal to this number
3785
+ */
3786
+ readonly maximumSales?: number;
3787
+ /**
3788
+ * Filter to only include products where the average basket percentage is greater than or equal to this value
3789
+ */
3790
+ readonly minimumBasketPercent?: number;
3791
+ /**
3792
+ * Filter to only include products where the average basket percentage is less than or equal to this value
3793
+ */
3794
+ readonly maximumBasketPercent?: number;
3795
+ /**
3796
+ * Filter to only include products with total traffic greater than or equal to this number
3797
+ */
3798
+ readonly minimumTraffic?: number;
3799
+ /**
3800
+ * Filter to only include products with total traffic less than or equal to this number
3801
+ */
3802
+ readonly maximumTraffic?: number;
3803
+ /**
3804
+ * Filter to only include products created before the given date
3805
+ */
3806
+ readonly createdBefore?: string;
3807
+ /**
3808
+ * Filter to only include products created after the given date
3809
+ */
3810
+ readonly createdAfter?: string;
3811
+ /**
3812
+ * Filter to only include products updated before the given date
3813
+ */
3814
+ readonly updatedBefore?: string;
3815
+ /**
3816
+ * Filter to only include products updated after the given date
3817
+ */
3818
+ readonly updatedAfter?: string;
3686
3819
  }
3687
3820
  /**
3688
3821
  * Request parameters for seoOptimiseProducts operation in ProductsApi.