@teemill/product-catalog 1.93.1 → 1.95.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.
@@ -35,6 +35,8 @@ docs/ApplicationTechnologyIntegrationProduct.md
35
35
  docs/Attribute.md
36
36
  docs/AttributeThumbnail.md
37
37
  docs/Attributes1Inner.md
38
+ docs/AutoMerchProducts202Response.md
39
+ docs/AutoMerchProductsRequest.md
38
40
  docs/BundleProduct.md
39
41
  docs/CreateApplication.md
40
42
  docs/CreateApplicationGroupRequest.md
@@ -76,6 +78,9 @@ docs/ProductAnalytics.md
76
78
  docs/ProductAnalyticsApi.md
77
79
  docs/ProductAnalyticsResponse.md
78
80
  docs/ProductApplicationSetsInner.md
81
+ docs/ProductAttribute.md
82
+ docs/ProductAttributeValue.md
83
+ docs/ProductAttributeValue1.md
79
84
  docs/ProductBundleItemsInner.md
80
85
  docs/ProductCreatorsApi.md
81
86
  docs/ProductGfnProduct.md
@@ -104,6 +109,7 @@ docs/UpdateApplicationSetRequest.md
104
109
  docs/UpdateApplicationSetRequestRecordsInner.md
105
110
  docs/UpdateApplicationSetRequestRecordsInnerAttributesInner.md
106
111
  docs/UpdateProductRequest.md
112
+ docs/UpdateProductRequestAttributesInner.md
107
113
  docs/UpdateProductRequestBundleItemsInner.md
108
114
  docs/UpdateProductRequestBundleItemsInnerConfig.md
109
115
  docs/UpdateProductRequestBundleItemsInnerConfigValidOptionsInner.md
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- ## @teemill/product-catalog@1.93.1
1
+ ## @teemill/product-catalog@1.95.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.93.1 --save
39
+ npm install @teemill/product-catalog@1.95.0 --save
40
40
  ```
41
41
 
42
42
  _unPublished (not recommended):_
@@ -67,6 +67,7 @@ Class | Method | HTTP request | Description
67
67
  *ProductAnalyticsApi* | [**listProductAnalytics**](docs/ProductAnalyticsApi.md#listproductanalytics) | **GET** /v1/catalog/analytics | List product analytics
68
68
  *ProductCreatorsApi* | [**listProductCreators**](docs/ProductCreatorsApi.md#listproductcreators) | **GET** /v1/catalog/creators | List product creators
69
69
  *ProductTypesApi* | [**listProductTypes**](docs/ProductTypesApi.md#listproducttypes) | **GET** /v1/catalog/product-types | List product types
70
+ *ProductsApi* | [**autoMerchProducts**](docs/ProductsApi.md#automerchproducts) | **POST** /v1/catalog/products/auto-merch | AI auto merchandise products.
70
71
  *ProductsApi* | [**createProduct**](docs/ProductsApi.md#createproduct) | **POST** /v1/catalog/products | Create product
71
72
  *ProductsApi* | [**deleteProduct**](docs/ProductsApi.md#deleteproduct) | **DELETE** /v1/catalog/products/{productId} | Delete catalog product
72
73
  *ProductsApi* | [**deleteProducts**](docs/ProductsApi.md#deleteproducts) | **DELETE** /v1/catalog/products | Delete products
@@ -111,6 +112,8 @@ Class | Method | HTTP request | Description
111
112
  - [Attribute](docs/Attribute.md)
112
113
  - [AttributeThumbnail](docs/AttributeThumbnail.md)
113
114
  - [Attributes1Inner](docs/Attributes1Inner.md)
115
+ - [AutoMerchProducts202Response](docs/AutoMerchProducts202Response.md)
116
+ - [AutoMerchProductsRequest](docs/AutoMerchProductsRequest.md)
114
117
  - [BundleProduct](docs/BundleProduct.md)
115
118
  - [CreateApplication](docs/CreateApplication.md)
116
119
  - [CreateApplicationGroupRequest](docs/CreateApplicationGroupRequest.md)
@@ -151,6 +154,9 @@ Class | Method | HTTP request | Description
151
154
  - [ProductAnalytics](docs/ProductAnalytics.md)
152
155
  - [ProductAnalyticsResponse](docs/ProductAnalyticsResponse.md)
153
156
  - [ProductApplicationSetsInner](docs/ProductApplicationSetsInner.md)
157
+ - [ProductAttribute](docs/ProductAttribute.md)
158
+ - [ProductAttributeValue](docs/ProductAttributeValue.md)
159
+ - [ProductAttributeValue1](docs/ProductAttributeValue1.md)
154
160
  - [ProductBundleItemsInner](docs/ProductBundleItemsInner.md)
155
161
  - [ProductGfnProduct](docs/ProductGfnProduct.md)
156
162
  - [ProductStaticCollectionsInner](docs/ProductStaticCollectionsInner.md)
@@ -176,6 +182,7 @@ Class | Method | HTTP request | Description
176
182
  - [UpdateApplicationSetRequestRecordsInner](docs/UpdateApplicationSetRequestRecordsInner.md)
177
183
  - [UpdateApplicationSetRequestRecordsInnerAttributesInner](docs/UpdateApplicationSetRequestRecordsInnerAttributesInner.md)
178
184
  - [UpdateProductRequest](docs/UpdateProductRequest.md)
185
+ - [UpdateProductRequestAttributesInner](docs/UpdateProductRequestAttributesInner.md)
179
186
  - [UpdateProductRequestBundleItemsInner](docs/UpdateProductRequestBundleItemsInner.md)
180
187
  - [UpdateProductRequestBundleItemsInnerConfig](docs/UpdateProductRequestBundleItemsInnerConfig.md)
181
188
  - [UpdateProductRequestBundleItemsInnerConfigValidOptionsInner](docs/UpdateProductRequestBundleItemsInnerConfigValidOptionsInner.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.93.1
7
+ * The version of the OpenAPI document: 1.95.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -463,18 +463,21 @@ export interface ApplicationTechnologyIntegrationProduct {
463
463
  */
464
464
  'ref'?: string;
465
465
  }
466
+ /**
467
+ * An attribute associated to a variant such as Colour and Size.
468
+ */
466
469
  export interface Attribute {
467
470
  /**
468
- * Attribute name
471
+ * Variant attribute name
469
472
  */
470
473
  'name': string;
471
474
  /**
472
- * Attribute value
475
+ * Variant attribute value
473
476
  */
474
477
  'value': string;
475
478
  'thumbnail'?: AttributeThumbnail;
476
479
  /**
477
- * Attribute tags
480
+ * Variant attribute tags
478
481
  */
479
482
  'tags'?: Array<string>;
480
483
  }
@@ -498,6 +501,40 @@ export interface Attributes1Inner {
498
501
  'name'?: string;
499
502
  'value'?: string;
500
503
  }
504
+ export interface AutoMerchProducts202Response {
505
+ /**
506
+ * A message describing the auto merchandising status
507
+ */
508
+ 'message'?: string;
509
+ }
510
+ export interface AutoMerchProductsRequest {
511
+ /**
512
+ * A set of product IDs to AI auto merchandise.
513
+ */
514
+ 'ids': Array<string>;
515
+ /**
516
+ * If provided, only the specified fields will be updated. Supports AI SEO field keys (e.g. \"title\", \"targetSearchPhraseData\") and merchandising field keys with an \"append\" or \"remove\" suffix (e.g. \"lifestyleImages.append\", \"colours.remove\").
517
+ */
518
+ 'fields'?: Array<AutoMerchProductsRequestFieldsEnum>;
519
+ }
520
+
521
+ export const AutoMerchProductsRequestFieldsEnum = {
522
+ LifestyleImagesAppend: 'lifestyleImages.append',
523
+ LifestyleImagesRemove: 'lifestyleImages.remove',
524
+ ColoursAppend: 'colours.append',
525
+ ColoursRemove: 'colours.remove',
526
+ Title: 'title',
527
+ Description: 'description',
528
+ SeoMetadataTitle: 'seoMetadata.title',
529
+ SeoMetadataDescription: 'seoMetadata.description',
530
+ Tags: 'tags',
531
+ Slug: 'slug',
532
+ Images: 'images',
533
+ TargetSearchPhraseData: 'targetSearchPhraseData',
534
+ } as const;
535
+
536
+ export type AutoMerchProductsRequestFieldsEnum = typeof AutoMerchProductsRequestFieldsEnum[keyof typeof AutoMerchProductsRequestFieldsEnum];
537
+
501
538
  /**
502
539
  * A bundle product that groups multiple items together at a combined price.
503
540
  */
@@ -1271,6 +1308,10 @@ export interface Product {
1271
1308
  'targetSearchPhraseData'?: TargetSearchPhraseData;
1272
1309
  'tags'?: Array<string>;
1273
1310
  'internalTags'?: Array<string>;
1311
+ /**
1312
+ * Attributes associated to a product such as product colours and sizes
1313
+ */
1314
+ 'attributes'?: Array<ProductAttribute>;
1274
1315
  'createdAt'?: string;
1275
1316
  'updatedAt'?: string;
1276
1317
  'publishedAt'?: string;
@@ -1424,6 +1465,36 @@ export interface ProductApplicationSetsInner {
1424
1465
  */
1425
1466
  'name'?: string;
1426
1467
  }
1468
+ export interface ProductAttribute {
1469
+ /**
1470
+ * Attribute name, this can only be \'Colour\' or \'Size\' for now
1471
+ */
1472
+ 'name': string;
1473
+ /**
1474
+ * Attribute values
1475
+ */
1476
+ 'values': Array<ProductAttributeValue1>;
1477
+ }
1478
+ export interface ProductAttributeValue {
1479
+ /**
1480
+ * Position of the value when ordered
1481
+ */
1482
+ 'sortOrder': number;
1483
+ /**
1484
+ * The specific size or colour value. This must match the GFN Catalog API exactly.
1485
+ */
1486
+ 'value': string;
1487
+ }
1488
+ export interface ProductAttributeValue1 {
1489
+ /**
1490
+ * Position of the value when ordered
1491
+ */
1492
+ 'sortOrder': number;
1493
+ /**
1494
+ * Product attribute value
1495
+ */
1496
+ 'value': string;
1497
+ }
1427
1498
  export interface ProductBundleItemsInner {
1428
1499
  /**
1429
1500
  * The unique identifier of the bundle product.
@@ -1932,6 +2003,10 @@ export interface UpdateProductRequest {
1932
2003
  * The brand of the product.
1933
2004
  */
1934
2005
  'brand'?: string | null;
2006
+ /**
2007
+ * Attributes associated to a product such as product colours and sizes. The name and values must match the GFN Catalog API exactly — use the GFN Catalog API to list the product to get the exact strings (casing and spelling must match). If present, any new variant attributes and values must be included in this list.
2008
+ */
2009
+ 'attributes'?: Array<UpdateProductRequestAttributesInner>;
1935
2010
  'seoMetadata'?: UpdateProductsRequestProductsInnerSeoMetadata;
1936
2011
  /**
1937
2012
  * The primary target search phrase for the product that you wish to rank for in search engine results. **Note:** This field requires the website integration
@@ -2011,6 +2086,16 @@ export interface UpdateProductRequest {
2011
2086
  */
2012
2087
  'collections'?: Array<UpdateProductsRequestProductsInnerCollectionsInner>;
2013
2088
  }
2089
+ export interface UpdateProductRequestAttributesInner {
2090
+ /**
2091
+ * Product attribute name, this can only be \'Colour\' or \'Size\' for now
2092
+ */
2093
+ 'name': string;
2094
+ /**
2095
+ * List of product attribute values, each including a sort order and an option value (e.g., \'Black\', \'Blue\', \'XL\', \'XXL\'). Any existing values not included here will be removed, along with any variants that use them. Any new values listed will be added to the product.
2096
+ */
2097
+ 'values': Array<ProductAttributeValue>;
2098
+ }
2014
2099
  export interface UpdateProductRequestBundleItemsInner {
2015
2100
  /**
2016
2101
  * The product UUID to include in the bundle
@@ -4646,6 +4731,53 @@ export class ProductTypesApi extends BaseAPI {
4646
4731
  */
4647
4732
  export const ProductsApiAxiosParamCreator = function (configuration?: Configuration) {
4648
4733
  return {
4734
+ /**
4735
+ * AI auto merchandises products by a set of given IDs. Runs AI SEO optimisation alongside updates to mockups, colours and other merchandising properties.
4736
+ * @summary AI auto merchandise products.
4737
+ * @param {string} project What project it is
4738
+ * @param {AutoMerchProductsRequest} [autoMerchProductsRequest] A set of product IDs to AI auto merchandise.
4739
+ * @param {*} [options] Override http request option.
4740
+ * @throws {RequiredError}
4741
+ */
4742
+ autoMerchProducts: async (project: string, autoMerchProductsRequest?: AutoMerchProductsRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
4743
+ // verify required parameter 'project' is not null or undefined
4744
+ assertParamExists('autoMerchProducts', 'project', project)
4745
+ const localVarPath = `/v1/catalog/products/auto-merch`;
4746
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
4747
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
4748
+ let baseOptions;
4749
+ if (configuration) {
4750
+ baseOptions = configuration.baseOptions;
4751
+ }
4752
+
4753
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
4754
+ const localVarHeaderParameter = {} as any;
4755
+ const localVarQueryParameter = {} as any;
4756
+
4757
+ // authentication session-oauth required
4758
+ // oauth required
4759
+ await setOAuthToObject(localVarHeaderParameter, "session-oauth", [], configuration)
4760
+
4761
+ // authentication api-key required
4762
+ await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
4763
+
4764
+ if (project !== undefined) {
4765
+ localVarQueryParameter['project'] = project;
4766
+ }
4767
+
4768
+ localVarHeaderParameter['Content-Type'] = 'application/json';
4769
+ localVarHeaderParameter['Accept'] = 'application/json';
4770
+
4771
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
4772
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
4773
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
4774
+ localVarRequestOptions.data = serializeDataIfNeeded(autoMerchProductsRequest, localVarRequestOptions, configuration)
4775
+
4776
+ return {
4777
+ url: toPathString(localVarUrlObj),
4778
+ options: localVarRequestOptions,
4779
+ };
4780
+ },
4649
4781
  /**
4650
4782
  * Creates a new catalog product based on a product from the GFN Catalog, with the variants and design applications you provide. Use the [GFN Catalog API](/developer/api/gfn-catalog) to list available products and their variants (including exact attribute names and values) for the project.
4651
4783
  * @summary Create product
@@ -5351,6 +5483,20 @@ export const ProductsApiAxiosParamCreator = function (configuration?: Configurat
5351
5483
  export const ProductsApiFp = function(configuration?: Configuration) {
5352
5484
  const localVarAxiosParamCreator = ProductsApiAxiosParamCreator(configuration)
5353
5485
  return {
5486
+ /**
5487
+ * AI auto merchandises products by a set of given IDs. Runs AI SEO optimisation alongside updates to mockups, colours and other merchandising properties.
5488
+ * @summary AI auto merchandise products.
5489
+ * @param {string} project What project it is
5490
+ * @param {AutoMerchProductsRequest} [autoMerchProductsRequest] A set of product IDs to AI auto merchandise.
5491
+ * @param {*} [options] Override http request option.
5492
+ * @throws {RequiredError}
5493
+ */
5494
+ async autoMerchProducts(project: string, autoMerchProductsRequest?: AutoMerchProductsRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AutoMerchProducts202Response>> {
5495
+ const localVarAxiosArgs = await localVarAxiosParamCreator.autoMerchProducts(project, autoMerchProductsRequest, options);
5496
+ const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
5497
+ const localVarOperationServerBasePath = operationServerMap['ProductsApi.autoMerchProducts']?.[localVarOperationServerIndex]?.url;
5498
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
5499
+ },
5354
5500
  /**
5355
5501
  * Creates a new catalog product based on a product from the GFN Catalog, with the variants and design applications you provide. Use the [GFN Catalog API](/developer/api/gfn-catalog) to list available products and their variants (including exact attribute names and values) for the project.
5356
5502
  * @summary Create product
@@ -5544,6 +5690,16 @@ export const ProductsApiFp = function(configuration?: Configuration) {
5544
5690
  export const ProductsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
5545
5691
  const localVarFp = ProductsApiFp(configuration)
5546
5692
  return {
5693
+ /**
5694
+ * AI auto merchandises products by a set of given IDs. Runs AI SEO optimisation alongside updates to mockups, colours and other merchandising properties.
5695
+ * @summary AI auto merchandise products.
5696
+ * @param {ProductsApiAutoMerchProductsRequest} requestParameters Request parameters.
5697
+ * @param {*} [options] Override http request option.
5698
+ * @throws {RequiredError}
5699
+ */
5700
+ autoMerchProducts(requestParameters: ProductsApiAutoMerchProductsRequest, options?: RawAxiosRequestConfig): AxiosPromise<AutoMerchProducts202Response> {
5701
+ return localVarFp.autoMerchProducts(requestParameters.project, requestParameters.autoMerchProductsRequest, options).then((request) => request(axios, basePath));
5702
+ },
5547
5703
  /**
5548
5704
  * Creates a new catalog product based on a product from the GFN Catalog, with the variants and design applications you provide. Use the [GFN Catalog API](/developer/api/gfn-catalog) to list available products and their variants (including exact attribute names and values) for the project.
5549
5705
  * @summary Create product
@@ -5657,6 +5813,21 @@ export const ProductsApiFactory = function (configuration?: Configuration, baseP
5657
5813
  };
5658
5814
  };
5659
5815
 
5816
+ /**
5817
+ * Request parameters for autoMerchProducts operation in ProductsApi.
5818
+ */
5819
+ export interface ProductsApiAutoMerchProductsRequest {
5820
+ /**
5821
+ * What project it is
5822
+ */
5823
+ readonly project: string
5824
+
5825
+ /**
5826
+ * A set of product IDs to AI auto merchandise.
5827
+ */
5828
+ readonly autoMerchProductsRequest?: AutoMerchProductsRequest
5829
+ }
5830
+
5660
5831
  /**
5661
5832
  * Request parameters for createProduct operation in ProductsApi.
5662
5833
  */
@@ -5976,6 +6147,17 @@ export interface ProductsApiUpdateProductsRequest {
5976
6147
  * ProductsApi - object-oriented interface
5977
6148
  */
5978
6149
  export class ProductsApi extends BaseAPI {
6150
+ /**
6151
+ * AI auto merchandises products by a set of given IDs. Runs AI SEO optimisation alongside updates to mockups, colours and other merchandising properties.
6152
+ * @summary AI auto merchandise products.
6153
+ * @param {ProductsApiAutoMerchProductsRequest} requestParameters Request parameters.
6154
+ * @param {*} [options] Override http request option.
6155
+ * @throws {RequiredError}
6156
+ */
6157
+ public autoMerchProducts(requestParameters: ProductsApiAutoMerchProductsRequest, options?: RawAxiosRequestConfig) {
6158
+ return ProductsApiFp(this.configuration).autoMerchProducts(requestParameters.project, requestParameters.autoMerchProductsRequest, options).then((request) => request(this.axios, this.basePath));
6159
+ }
6160
+
5979
6161
  /**
5980
6162
  * Creates a new catalog product based on a product from the GFN Catalog, with the variants and design applications you provide. Use the [GFN Catalog API](/developer/api/gfn-catalog) to list available products and their variants (including exact attribute names and values) for the project.
5981
6163
  * @summary Create product
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.93.1
7
+ * The version of the OpenAPI document: 1.95.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.93.1
7
+ * The version of the OpenAPI document: 1.95.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.93.1
6
+ * The version of the OpenAPI document: 1.95.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.93.1
5
+ * The version of the OpenAPI document: 1.95.0
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -438,18 +438,21 @@ export interface ApplicationTechnologyIntegrationProduct {
438
438
  */
439
439
  'ref'?: string;
440
440
  }
441
+ /**
442
+ * An attribute associated to a variant such as Colour and Size.
443
+ */
441
444
  export interface Attribute {
442
445
  /**
443
- * Attribute name
446
+ * Variant attribute name
444
447
  */
445
448
  'name': string;
446
449
  /**
447
- * Attribute value
450
+ * Variant attribute value
448
451
  */
449
452
  'value': string;
450
453
  'thumbnail'?: AttributeThumbnail;
451
454
  /**
452
- * Attribute tags
455
+ * Variant attribute tags
453
456
  */
454
457
  'tags'?: Array<string>;
455
458
  }
@@ -470,6 +473,37 @@ export interface Attributes1Inner {
470
473
  'name'?: string;
471
474
  'value'?: string;
472
475
  }
476
+ export interface AutoMerchProducts202Response {
477
+ /**
478
+ * A message describing the auto merchandising status
479
+ */
480
+ 'message'?: string;
481
+ }
482
+ export interface AutoMerchProductsRequest {
483
+ /**
484
+ * A set of product IDs to AI auto merchandise.
485
+ */
486
+ 'ids': Array<string>;
487
+ /**
488
+ * If provided, only the specified fields will be updated. Supports AI SEO field keys (e.g. \"title\", \"targetSearchPhraseData\") and merchandising field keys with an \"append\" or \"remove\" suffix (e.g. \"lifestyleImages.append\", \"colours.remove\").
489
+ */
490
+ 'fields'?: Array<AutoMerchProductsRequestFieldsEnum>;
491
+ }
492
+ export declare const AutoMerchProductsRequestFieldsEnum: {
493
+ readonly LifestyleImagesAppend: "lifestyleImages.append";
494
+ readonly LifestyleImagesRemove: "lifestyleImages.remove";
495
+ readonly ColoursAppend: "colours.append";
496
+ readonly ColoursRemove: "colours.remove";
497
+ readonly Title: "title";
498
+ readonly Description: "description";
499
+ readonly SeoMetadataTitle: "seoMetadata.title";
500
+ readonly SeoMetadataDescription: "seoMetadata.description";
501
+ readonly Tags: "tags";
502
+ readonly Slug: "slug";
503
+ readonly Images: "images";
504
+ readonly TargetSearchPhraseData: "targetSearchPhraseData";
505
+ };
506
+ export type AutoMerchProductsRequestFieldsEnum = typeof AutoMerchProductsRequestFieldsEnum[keyof typeof AutoMerchProductsRequestFieldsEnum];
473
507
  /**
474
508
  * A bundle product that groups multiple items together at a combined price.
475
509
  */
@@ -1228,6 +1262,10 @@ export interface Product {
1228
1262
  'targetSearchPhraseData'?: TargetSearchPhraseData;
1229
1263
  'tags'?: Array<string>;
1230
1264
  'internalTags'?: Array<string>;
1265
+ /**
1266
+ * Attributes associated to a product such as product colours and sizes
1267
+ */
1268
+ 'attributes'?: Array<ProductAttribute>;
1231
1269
  'createdAt'?: string;
1232
1270
  'updatedAt'?: string;
1233
1271
  'publishedAt'?: string;
@@ -1381,6 +1419,36 @@ export interface ProductApplicationSetsInner {
1381
1419
  */
1382
1420
  'name'?: string;
1383
1421
  }
1422
+ export interface ProductAttribute {
1423
+ /**
1424
+ * Attribute name, this can only be \'Colour\' or \'Size\' for now
1425
+ */
1426
+ 'name': string;
1427
+ /**
1428
+ * Attribute values
1429
+ */
1430
+ 'values': Array<ProductAttributeValue1>;
1431
+ }
1432
+ export interface ProductAttributeValue {
1433
+ /**
1434
+ * Position of the value when ordered
1435
+ */
1436
+ 'sortOrder': number;
1437
+ /**
1438
+ * The specific size or colour value. This must match the GFN Catalog API exactly.
1439
+ */
1440
+ 'value': string;
1441
+ }
1442
+ export interface ProductAttributeValue1 {
1443
+ /**
1444
+ * Position of the value when ordered
1445
+ */
1446
+ 'sortOrder': number;
1447
+ /**
1448
+ * Product attribute value
1449
+ */
1450
+ 'value': string;
1451
+ }
1384
1452
  export interface ProductBundleItemsInner {
1385
1453
  /**
1386
1454
  * The unique identifier of the bundle product.
@@ -1873,6 +1941,10 @@ export interface UpdateProductRequest {
1873
1941
  * The brand of the product.
1874
1942
  */
1875
1943
  'brand'?: string | null;
1944
+ /**
1945
+ * Attributes associated to a product such as product colours and sizes. The name and values must match the GFN Catalog API exactly — use the GFN Catalog API to list the product to get the exact strings (casing and spelling must match). If present, any new variant attributes and values must be included in this list.
1946
+ */
1947
+ 'attributes'?: Array<UpdateProductRequestAttributesInner>;
1876
1948
  'seoMetadata'?: UpdateProductsRequestProductsInnerSeoMetadata;
1877
1949
  /**
1878
1950
  * The primary target search phrase for the product that you wish to rank for in search engine results. **Note:** This field requires the website integration
@@ -1952,6 +2024,16 @@ export interface UpdateProductRequest {
1952
2024
  */
1953
2025
  'collections'?: Array<UpdateProductsRequestProductsInnerCollectionsInner>;
1954
2026
  }
2027
+ export interface UpdateProductRequestAttributesInner {
2028
+ /**
2029
+ * Product attribute name, this can only be \'Colour\' or \'Size\' for now
2030
+ */
2031
+ 'name': string;
2032
+ /**
2033
+ * List of product attribute values, each including a sort order and an option value (e.g., \'Black\', \'Blue\', \'XL\', \'XXL\'). Any existing values not included here will be removed, along with any variants that use them. Any new values listed will be added to the product.
2034
+ */
2035
+ 'values': Array<ProductAttributeValue>;
2036
+ }
1955
2037
  export interface UpdateProductRequestBundleItemsInner {
1956
2038
  /**
1957
2039
  * The product UUID to include in the bundle
@@ -3456,6 +3538,15 @@ export declare class ProductTypesApi extends BaseAPI {
3456
3538
  * ProductsApi - axios parameter creator
3457
3539
  */
3458
3540
  export declare const ProductsApiAxiosParamCreator: (configuration?: Configuration) => {
3541
+ /**
3542
+ * AI auto merchandises products by a set of given IDs. Runs AI SEO optimisation alongside updates to mockups, colours and other merchandising properties.
3543
+ * @summary AI auto merchandise products.
3544
+ * @param {string} project What project it is
3545
+ * @param {AutoMerchProductsRequest} [autoMerchProductsRequest] A set of product IDs to AI auto merchandise.
3546
+ * @param {*} [options] Override http request option.
3547
+ * @throws {RequiredError}
3548
+ */
3549
+ autoMerchProducts: (project: string, autoMerchProductsRequest?: AutoMerchProductsRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
3459
3550
  /**
3460
3551
  * Creates a new catalog product based on a product from the GFN Catalog, with the variants and design applications you provide. Use the [GFN Catalog API](/developer/api/gfn-catalog) to list available products and their variants (including exact attribute names and values) for the project.
3461
3552
  * @summary Create product
@@ -3590,6 +3681,15 @@ export declare const ProductsApiAxiosParamCreator: (configuration?: Configuratio
3590
3681
  * ProductsApi - functional programming interface
3591
3682
  */
3592
3683
  export declare const ProductsApiFp: (configuration?: Configuration) => {
3684
+ /**
3685
+ * AI auto merchandises products by a set of given IDs. Runs AI SEO optimisation alongside updates to mockups, colours and other merchandising properties.
3686
+ * @summary AI auto merchandise products.
3687
+ * @param {string} project What project it is
3688
+ * @param {AutoMerchProductsRequest} [autoMerchProductsRequest] A set of product IDs to AI auto merchandise.
3689
+ * @param {*} [options] Override http request option.
3690
+ * @throws {RequiredError}
3691
+ */
3692
+ autoMerchProducts(project: string, autoMerchProductsRequest?: AutoMerchProductsRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AutoMerchProducts202Response>>;
3593
3693
  /**
3594
3694
  * Creates a new catalog product based on a product from the GFN Catalog, with the variants and design applications you provide. Use the [GFN Catalog API](/developer/api/gfn-catalog) to list available products and their variants (including exact attribute names and values) for the project.
3595
3695
  * @summary Create product
@@ -3724,6 +3824,14 @@ export declare const ProductsApiFp: (configuration?: Configuration) => {
3724
3824
  * ProductsApi - factory interface
3725
3825
  */
3726
3826
  export declare const ProductsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
3827
+ /**
3828
+ * AI auto merchandises products by a set of given IDs. Runs AI SEO optimisation alongside updates to mockups, colours and other merchandising properties.
3829
+ * @summary AI auto merchandise products.
3830
+ * @param {ProductsApiAutoMerchProductsRequest} requestParameters Request parameters.
3831
+ * @param {*} [options] Override http request option.
3832
+ * @throws {RequiredError}
3833
+ */
3834
+ autoMerchProducts(requestParameters: ProductsApiAutoMerchProductsRequest, options?: RawAxiosRequestConfig): AxiosPromise<AutoMerchProducts202Response>;
3727
3835
  /**
3728
3836
  * Creates a new catalog product based on a product from the GFN Catalog, with the variants and design applications you provide. Use the [GFN Catalog API](/developer/api/gfn-catalog) to list available products and their variants (including exact attribute names and values) for the project.
3729
3837
  * @summary Create product
@@ -3813,6 +3921,19 @@ export declare const ProductsApiFactory: (configuration?: Configuration, basePat
3813
3921
  */
3814
3922
  updateProducts(requestParameters: ProductsApiUpdateProductsRequest, options?: RawAxiosRequestConfig): AxiosPromise<ProductsResponse>;
3815
3923
  };
3924
+ /**
3925
+ * Request parameters for autoMerchProducts operation in ProductsApi.
3926
+ */
3927
+ export interface ProductsApiAutoMerchProductsRequest {
3928
+ /**
3929
+ * What project it is
3930
+ */
3931
+ readonly project: string;
3932
+ /**
3933
+ * A set of product IDs to AI auto merchandise.
3934
+ */
3935
+ readonly autoMerchProductsRequest?: AutoMerchProductsRequest;
3936
+ }
3816
3937
  /**
3817
3938
  * Request parameters for createProduct operation in ProductsApi.
3818
3939
  */
@@ -4080,6 +4201,14 @@ export interface ProductsApiUpdateProductsRequest {
4080
4201
  * ProductsApi - object-oriented interface
4081
4202
  */
4082
4203
  export declare class ProductsApi extends BaseAPI {
4204
+ /**
4205
+ * AI auto merchandises products by a set of given IDs. Runs AI SEO optimisation alongside updates to mockups, colours and other merchandising properties.
4206
+ * @summary AI auto merchandise products.
4207
+ * @param {ProductsApiAutoMerchProductsRequest} requestParameters Request parameters.
4208
+ * @param {*} [options] Override http request option.
4209
+ * @throws {RequiredError}
4210
+ */
4211
+ autoMerchProducts(requestParameters: ProductsApiAutoMerchProductsRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AutoMerchProducts202Response, any, {}>>;
4083
4212
  /**
4084
4213
  * Creates a new catalog product based on a product from the GFN Catalog, with the variants and design applications you provide. Use the [GFN Catalog API](/developer/api/gfn-catalog) to list available products and their variants (including exact attribute names and values) for the project.
4085
4214
  * @summary Create product