@teemill/product-catalog 1.38.1 → 1.40.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.38.1
1
+ ## @teemill/product-catalog@1.40.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.38.1 --save
39
+ npm install @teemill/product-catalog@1.40.0 --save
40
40
  ```
41
41
 
42
42
  _unPublished (not recommended):_
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.38.1
7
+ * The version of the OpenAPI document: 1.40.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -445,188 +445,277 @@ export type CreateApplicationSetRequestRecordsInnerAttributesInnerThumbnailTypeE
445
445
  /**
446
446
  *
447
447
  * @export
448
- * @interface CreateProductRequest
448
+ * @interface CreateBundleProduct
449
449
  */
450
- export interface CreateProductRequest {
450
+ export interface CreateBundleProduct {
451
+ /**
452
+ * Product title
453
+ * @type {string}
454
+ * @memberof CreateBundleProduct
455
+ */
456
+ 'title'?: string;
457
+ /**
458
+ * Product description
459
+ * @type {string}
460
+ * @memberof CreateBundleProduct
461
+ */
462
+ 'description'?: string;
463
+ /**
464
+ * Whether the product is enabled upon creation.
465
+ * @type {boolean}
466
+ * @memberof CreateBundleProduct
467
+ */
468
+ 'enabled'?: boolean;
469
+ /**
470
+ * A custom URL slug for the product. This must be unique for each product on the project.
471
+ * @type {string}
472
+ * @memberof CreateBundleProduct
473
+ */
474
+ 'slug'?: string;
475
+ /**
476
+ *
477
+ * @type {UpdateProductsRequestProductsInnerSeoMetadata}
478
+ * @memberof CreateBundleProduct
479
+ */
480
+ 'seoMetadata'?: UpdateProductsRequestProductsInnerSeoMetadata;
481
+ /**
482
+ * 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
483
+ * @type {string}
484
+ * @memberof CreateBundleProduct
485
+ */
486
+ 'targetSearchPhrase'?: string;
487
+ /**
488
+ * Synonyms for the target search phrase. **Note:** This field requires the website integration
489
+ * @type {Array<string>}
490
+ * @memberof CreateBundleProduct
491
+ */
492
+ 'targetSearchPhraseSynonyms'?: Array<string>;
493
+ /**
494
+ * Additional product tags used for searching and filtering.
495
+ * @type {Array<string>}
496
+ * @memberof CreateBundleProduct
497
+ */
498
+ 'tags'?: Array<string>;
499
+ /**
500
+ * Internal tags used for internal searching and filtering.
501
+ * @type {Array<string>}
502
+ * @memberof CreateBundleProduct
503
+ */
504
+ 'internalTags'?: Array<string>;
505
+ /**
506
+ * Images to attach to the product. For example, photos of models using/wearing the product.
507
+ * @type {Array<CreateProductImagesInner>}
508
+ * @memberof CreateBundleProduct
509
+ */
510
+ 'images'?: Array<CreateProductImagesInner>;
511
+ /**
512
+ * Videos to attach to the product.
513
+ * @type {Array<CreateProductVideosInner>}
514
+ * @memberof CreateBundleProduct
515
+ */
516
+ 'videos'?: Array<CreateProductVideosInner>;
517
+ /**
518
+ * Additional files to attach to the product. For example, original design files e.g. PSD, AI, etc.
519
+ * @type {Array<CreateProductAdditionalFilesInner>}
520
+ * @memberof CreateBundleProduct
521
+ */
522
+ 'additionalFiles'?: Array<CreateProductAdditionalFilesInner>;
523
+ /**
524
+ * 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.
525
+ * @type {number}
526
+ * @memberof CreateBundleProduct
527
+ */
528
+ 'shopifyId'?: number;
529
+ /**
530
+ * Key/value pairs that can be used to store additional information about the product
531
+ * @type {Array<MetaField>}
532
+ * @memberof CreateBundleProduct
533
+ */
534
+ 'metafields'?: Array<MetaField>;
535
+ /**
536
+ * A list of product uuids to include in this bundle
537
+ * @type {Array<string>}
538
+ * @memberof CreateBundleProduct
539
+ */
540
+ 'bundleItems': Array<string>;
541
+ /**
542
+ *
543
+ * @type {Price}
544
+ * @memberof CreateBundleProduct
545
+ */
546
+ 'retailPrice'?: Price;
547
+ /**
548
+ *
549
+ * @type {Price}
550
+ * @memberof CreateBundleProduct
551
+ */
552
+ 'salePrice'?: Price;
553
+ /**
554
+ *
555
+ * @type {Price}
556
+ * @memberof CreateBundleProduct
557
+ */
558
+ 'price'?: Price;
559
+ }
560
+ /**
561
+ *
562
+ * @export
563
+ * @interface CreateProduct
564
+ */
565
+ export interface CreateProduct {
451
566
  /**
452
567
  * Reference to the product in the GFN catalog that will be used as a base for this product. A list of available products for the given project can be obtained from the GFN Catalog API.
453
568
  * @type {string}
454
- * @memberof CreateProductRequest
569
+ * @memberof CreateProduct
455
570
  */
456
571
  'gfnProductRef': string;
457
572
  /**
458
573
  * Product title
459
574
  * @type {string}
460
- * @memberof CreateProductRequest
575
+ * @memberof CreateProduct
461
576
  */
462
577
  'title'?: string;
463
578
  /**
464
579
  * Product description
465
580
  * @type {string}
466
- * @memberof CreateProductRequest
581
+ * @memberof CreateProduct
467
582
  */
468
583
  'description'?: string;
469
584
  /**
470
585
  * Whether the product is enabled upon creation.
471
586
  * @type {boolean}
472
- * @memberof CreateProductRequest
587
+ * @memberof CreateProduct
473
588
  */
474
589
  'enabled'?: boolean;
475
590
  /**
476
591
  * A custom URL slug for the product. This must be unique for each product on the project.
477
592
  * @type {string}
478
- * @memberof CreateProductRequest
593
+ * @memberof CreateProduct
479
594
  */
480
595
  'slug'?: string;
481
596
  /**
482
597
  *
483
- * @type {CreateProductRequestSeoMetadata}
484
- * @memberof CreateProductRequest
598
+ * @type {UpdateProductsRequestProductsInnerSeoMetadata}
599
+ * @memberof CreateProduct
485
600
  */
486
- 'seoMetadata'?: CreateProductRequestSeoMetadata;
601
+ 'seoMetadata'?: UpdateProductsRequestProductsInnerSeoMetadata;
487
602
  /**
488
603
  * 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
489
604
  * @type {string}
490
- * @memberof CreateProductRequest
605
+ * @memberof CreateProduct
491
606
  */
492
607
  'targetSearchPhrase'?: string;
493
608
  /**
494
609
  * Synonyms for the target search phrase. **Note:** This field requires the website integration
495
610
  * @type {Array<string>}
496
- * @memberof CreateProductRequest
611
+ * @memberof CreateProduct
497
612
  */
498
613
  'targetSearchPhraseSynonyms'?: Array<string>;
499
614
  /**
500
615
  * Additional product tags used for searching and filtering.
501
616
  * @type {Array<string>}
502
- * @memberof CreateProductRequest
617
+ * @memberof CreateProduct
503
618
  */
504
619
  'tags'?: Array<string>;
505
620
  /**
506
621
  * Internal tags used for internal searching and filtering.
507
622
  * @type {Array<string>}
508
- * @memberof CreateProductRequest
623
+ * @memberof CreateProduct
509
624
  */
510
625
  'internalTags'?: Array<string>;
511
626
  /**
512
627
  * Variants
513
628
  * @type {Array<CreateProductVariant>}
514
- * @memberof CreateProductRequest
629
+ * @memberof CreateProduct
515
630
  */
516
631
  'variants': Array<CreateProductVariant>;
517
632
  /**
518
633
  * Images to attach to the product. For example, photos of models using/wearing the product.
519
- * @type {Array<CreateProductRequestImagesInner>}
520
- * @memberof CreateProductRequest
634
+ * @type {Array<CreateProductImagesInner>}
635
+ * @memberof CreateProduct
521
636
  */
522
- 'images'?: Array<CreateProductRequestImagesInner>;
637
+ 'images'?: Array<CreateProductImagesInner>;
523
638
  /**
524
639
  * Videos to attach to the product.
525
- * @type {Array<CreateProductRequestVideosInner>}
526
- * @memberof CreateProductRequest
640
+ * @type {Array<CreateProductVideosInner>}
641
+ * @memberof CreateProduct
527
642
  */
528
- 'videos'?: Array<CreateProductRequestVideosInner>;
643
+ 'videos'?: Array<CreateProductVideosInner>;
529
644
  /**
530
645
  * Additional files to attach to the product. For example, original design files e.g. PSD, AI, etc.
531
- * @type {Array<CreateProductRequestAdditionalFilesInner>}
532
- * @memberof CreateProductRequest
646
+ * @type {Array<CreateProductAdditionalFilesInner>}
647
+ * @memberof CreateProduct
533
648
  */
534
- 'additionalFiles'?: Array<CreateProductRequestAdditionalFilesInner>;
649
+ 'additionalFiles'?: Array<CreateProductAdditionalFilesInner>;
535
650
  /**
536
651
  * List of application set UUIDs to associate with this product
537
652
  * @type {Array<string>}
538
- * @memberof CreateProductRequest
653
+ * @memberof CreateProduct
539
654
  */
540
655
  'applicationSets'?: Array<string>;
541
656
  /**
542
657
  * Whether the product should be included in data feeds that can be provided to Google, Meta etc for advertising.
543
658
  * @type {boolean}
544
- * @memberof CreateProductRequest
659
+ * @memberof CreateProduct
545
660
  */
546
661
  'includeInDataFeeds'?: boolean;
547
662
  /**
548
663
  * 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.
549
664
  * @type {number}
550
- * @memberof CreateProductRequest
665
+ * @memberof CreateProduct
551
666
  */
552
667
  'shopifyId'?: number;
553
668
  /**
554
669
  * Key/value pairs that can be used to store additional information about the product
555
670
  * @type {Array<MetaField>}
556
- * @memberof CreateProductRequest
671
+ * @memberof CreateProduct
557
672
  */
558
673
  'metafields'?: Array<MetaField>;
559
674
  /**
560
675
  * A JSON object that defines the personalization template for the product.
561
676
  * @type {string}
562
- * @memberof CreateProductRequest
677
+ * @memberof CreateProduct
563
678
  */
564
679
  'personalizationTemplate'?: string;
565
680
  }
566
681
  /**
567
682
  *
568
683
  * @export
569
- * @interface CreateProductRequestAdditionalFilesInner
684
+ * @interface CreateProductAdditionalFilesInner
570
685
  */
571
- export interface CreateProductRequestAdditionalFilesInner {
686
+ export interface CreateProductAdditionalFilesInner {
572
687
  /**
573
688
  * Publicly available file URL.
574
689
  * @type {string}
575
- * @memberof CreateProductRequestAdditionalFilesInner
690
+ * @memberof CreateProductAdditionalFilesInner
576
691
  */
577
692
  'src'?: string;
578
693
  }
579
694
  /**
580
695
  *
581
696
  * @export
582
- * @interface CreateProductRequestImagesInner
697
+ * @interface CreateProductImagesInner
583
698
  */
584
- export interface CreateProductRequestImagesInner {
699
+ export interface CreateProductImagesInner {
585
700
  /**
586
701
  * Publicly available file URL.
587
702
  * @type {string}
588
- * @memberof CreateProductRequestImagesInner
703
+ * @memberof CreateProductImagesInner
589
704
  */
590
705
  'src'?: string;
591
706
  /**
592
707
  * Image type.
593
708
  * @type {string}
594
- * @memberof CreateProductRequestImagesInner
709
+ * @memberof CreateProductImagesInner
595
710
  */
596
711
  'type'?: string | null;
597
712
  }
598
713
  /**
599
- *
600
- * @export
601
- * @interface CreateProductRequestSeoMetadata
602
- */
603
- export interface CreateProductRequestSeoMetadata {
604
- /**
605
- * Meta title for the product. This appears in search engine results and social shares. If not provided, the product title will be used.
606
- * @type {string}
607
- * @memberof CreateProductRequestSeoMetadata
608
- */
609
- 'title'?: string;
610
- /**
611
- * Meta description for the product. This appears in search engine results and social shares. If not provided, the product description will be used.
612
- * @type {string}
613
- * @memberof CreateProductRequestSeoMetadata
614
- */
615
- 'description'?: string | null;
616
- }
617
- /**
618
- *
714
+ * @type CreateProductRequest
619
715
  * @export
620
- * @interface CreateProductRequestVideosInner
621
716
  */
622
- export interface CreateProductRequestVideosInner {
623
- /**
624
- * Publicly available file URL.
625
- * @type {string}
626
- * @memberof CreateProductRequestVideosInner
627
- */
628
- 'src'?: string;
629
- }
717
+ export type CreateProductRequest = CreateBundleProduct | CreateProduct;
718
+
630
719
  /**
631
720
  *
632
721
  * @export
@@ -676,7 +765,7 @@ export interface CreateProductVariant {
676
765
  */
677
766
  'applicationSets'?: Array<string>;
678
767
  /**
679
- * The GTIN (Global Trade Item Number) or EAN (European Article Number) of the variant. Please note that a barcode can only be attached after it\'s been uploaded it via the Barcodes module.
768
+ * The GTIN (Global Trade Item Number) or EAN (European Article Number) of the variant. Please note that a barcode can only be attached after the Barcodes module has been installed.
680
769
  * @type {string}
681
770
  * @memberof CreateProductVariant
682
771
  */
@@ -701,6 +790,19 @@ export interface CreateProductVariantImagesInner {
701
790
  */
702
791
  'src'?: string;
703
792
  }
793
+ /**
794
+ *
795
+ * @export
796
+ * @interface CreateProductVideosInner
797
+ */
798
+ export interface CreateProductVideosInner {
799
+ /**
800
+ * Publicly available file URL.
801
+ * @type {string}
802
+ * @memberof CreateProductVideosInner
803
+ */
804
+ 'src'?: string;
805
+ }
704
806
  /**
705
807
  * Image description
706
808
  * @export
@@ -896,10 +998,10 @@ export interface Product {
896
998
  'enabled'?: boolean;
897
999
  /**
898
1000
  *
899
- * @type {SeoMetadata}
1001
+ * @type {SEOMetadata}
900
1002
  * @memberof Product
901
1003
  */
902
- 'seoMetadata'?: SeoMetadata;
1004
+ 'seoMetadata'?: SEOMetadata;
903
1005
  /**
904
1006
  *
905
1007
  * @type {TargetSearchPhraseData}
@@ -954,6 +1056,12 @@ export interface Product {
954
1056
  * @memberof Product
955
1057
  */
956
1058
  'variants'?: Array<Variant>;
1059
+ /**
1060
+ * Products in the bundle.
1061
+ * @type {Array<Product>}
1062
+ * @memberof Product
1063
+ */
1064
+ 'bundleItems'?: Array<Product>;
957
1065
  /**
958
1066
  * Additional files attached to the product.
959
1067
  * @type {Array<ProductAdditionalFilesInner>}
@@ -1118,22 +1226,48 @@ export interface ProductsResponse {
1118
1226
  /**
1119
1227
  * SEO metadata for the product
1120
1228
  * @export
1121
- * @interface SeoMetadata
1229
+ * @interface SEOMetadata
1122
1230
  */
1123
- export interface SeoMetadata {
1231
+ export interface SEOMetadata {
1124
1232
  /**
1125
1233
  * Meta title for the product. This appears in search engine results and social shares. If not provided, the product title will be used.
1126
1234
  * @type {string}
1127
- * @memberof SeoMetadata
1235
+ * @memberof SEOMetadata
1128
1236
  */
1129
1237
  'title'?: string;
1130
1238
  /**
1131
1239
  * Meta description for the product. This appears in search engine results and social shares. If not provided, the product description will be used.
1132
1240
  * @type {string}
1133
- * @memberof SeoMetadata
1241
+ * @memberof SEOMetadata
1134
1242
  */
1135
1243
  'description'?: string | null;
1136
1244
  }
1245
+ /**
1246
+ *
1247
+ * @export
1248
+ * @interface SeoOptimiseProducts202Response
1249
+ */
1250
+ export interface SeoOptimiseProducts202Response {
1251
+ /**
1252
+ * A message describing the optimisation status
1253
+ * @type {string}
1254
+ * @memberof SeoOptimiseProducts202Response
1255
+ */
1256
+ 'message'?: string;
1257
+ }
1258
+ /**
1259
+ *
1260
+ * @export
1261
+ * @interface SeoOptimiseProductsRequest
1262
+ */
1263
+ export interface SeoOptimiseProductsRequest {
1264
+ /**
1265
+ * A set of product IDs to AI SEO optimise.
1266
+ * @type {Array<string>}
1267
+ * @memberof SeoOptimiseProductsRequest
1268
+ */
1269
+ 'ids'?: Array<string>;
1270
+ }
1137
1271
  /**
1138
1272
  *
1139
1273
  * @export
@@ -1297,10 +1431,10 @@ export interface UpdateProductRequest {
1297
1431
  'slug'?: string;
1298
1432
  /**
1299
1433
  *
1300
- * @type {CreateProductRequestSeoMetadata}
1434
+ * @type {UpdateProductsRequestProductsInnerSeoMetadata}
1301
1435
  * @memberof UpdateProductRequest
1302
1436
  */
1303
- 'seoMetadata'?: CreateProductRequestSeoMetadata;
1437
+ 'seoMetadata'?: UpdateProductsRequestProductsInnerSeoMetadata;
1304
1438
  /**
1305
1439
  * 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
1306
1440
  * @type {string}
@@ -1331,6 +1465,12 @@ export interface UpdateProductRequest {
1331
1465
  * @memberof UpdateProductRequest
1332
1466
  */
1333
1467
  'variants'?: Array<CreateProductVariant>;
1468
+ /**
1469
+ * A list of product uuids to be in this bundle. Only valid if the product is already a bundle.
1470
+ * @type {Array<string>}
1471
+ * @memberof UpdateProductRequest
1472
+ */
1473
+ 'bundleItems'?: Array<string>;
1334
1474
  /**
1335
1475
  * Images to attach to the product. For example, photos of models using/wearing the product.
1336
1476
  * @type {Array<ImageFile>}
@@ -1425,10 +1565,10 @@ export interface UpdateProductsRequestProductsInner {
1425
1565
  'enabled'?: boolean;
1426
1566
  /**
1427
1567
  *
1428
- * @type {CreateProductRequestSeoMetadata}
1568
+ * @type {UpdateProductsRequestProductsInnerSeoMetadata}
1429
1569
  * @memberof UpdateProductsRequestProductsInner
1430
1570
  */
1431
- 'seoMetadata'?: CreateProductRequestSeoMetadata;
1571
+ 'seoMetadata'?: UpdateProductsRequestProductsInnerSeoMetadata;
1432
1572
  /**
1433
1573
  * 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
1434
1574
  * @type {string}
@@ -1466,6 +1606,25 @@ export interface UpdateProductsRequestProductsInner {
1466
1606
  */
1467
1607
  'shopifyId'?: number;
1468
1608
  }
1609
+ /**
1610
+ *
1611
+ * @export
1612
+ * @interface UpdateProductsRequestProductsInnerSeoMetadata
1613
+ */
1614
+ export interface UpdateProductsRequestProductsInnerSeoMetadata {
1615
+ /**
1616
+ * Meta title for the product. This appears in search engine results and social shares. If not provided, the product title will be used.
1617
+ * @type {string}
1618
+ * @memberof UpdateProductsRequestProductsInnerSeoMetadata
1619
+ */
1620
+ 'title'?: string;
1621
+ /**
1622
+ * Meta description for the product. This appears in search engine results and social shares. If not provided, the product description will be used.
1623
+ * @type {string}
1624
+ * @memberof UpdateProductsRequestProductsInnerSeoMetadata
1625
+ */
1626
+ 'description'?: string | null;
1627
+ }
1469
1628
  /**
1470
1629
  *
1471
1630
  * @export
@@ -1491,7 +1650,7 @@ export interface UpdateProductsRequestProductsInnerVariantsInner {
1491
1650
  */
1492
1651
  'salePrice'?: UpdateProductsRequestProductsInnerVariantsInnerSalePrice;
1493
1652
  /**
1494
- * The GTIN (Global Trade Item Number) or EAN (European Article Number) of the variant. Please note that a barcode can only be attached after it\'s been uploaded it via the Barcodes module.
1653
+ * The GTIN (Global Trade Item Number) or EAN (European Article Number) of the variant. Please note that a barcode can only be attached after the Barcodes module has been installed.
1495
1654
  * @type {string}
1496
1655
  * @memberof UpdateProductsRequestProductsInnerVariantsInner
1497
1656
  */
@@ -1679,7 +1838,7 @@ export interface Variant {
1679
1838
  */
1680
1839
  'applications'?: Array<Application>;
1681
1840
  /**
1682
- * The GTIN (Global Trade Item Number) or EAN (European Article Number) of the variant. Please note that a barcode can only be attached after it\'s been uploaded it via the Barcodes module.
1841
+ * The GTIN (Global Trade Item Number) or EAN (European Article Number) of the variant. Please note that a barcode can only be attached after the Barcodes module has been installed.
1683
1842
  * @type {string}
1684
1843
  * @memberof Variant
1685
1844
  */
@@ -2674,6 +2833,54 @@ export const ProductsApiAxiosParamCreator = function (configuration?: Configurat
2674
2833
  options: localVarRequestOptions,
2675
2834
  };
2676
2835
  },
2836
+ /**
2837
+ * AI SEO optimises products by a set of given IDs.
2838
+ * @summary AI SEO optimise products.
2839
+ * @param {string} project What project it is
2840
+ * @param {SeoOptimiseProductsRequest} [seoOptimiseProductsRequest] A set of product IDs to AI SEO optimise.
2841
+ * @param {*} [options] Override http request option.
2842
+ * @throws {RequiredError}
2843
+ */
2844
+ seoOptimiseProducts: async (project: string, seoOptimiseProductsRequest?: SeoOptimiseProductsRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
2845
+ // verify required parameter 'project' is not null or undefined
2846
+ assertParamExists('seoOptimiseProducts', 'project', project)
2847
+ const localVarPath = `/v1/catalog/products/ai-seo-optimise`;
2848
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
2849
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
2850
+ let baseOptions;
2851
+ if (configuration) {
2852
+ baseOptions = configuration.baseOptions;
2853
+ }
2854
+
2855
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
2856
+ const localVarHeaderParameter = {} as any;
2857
+ const localVarQueryParameter = {} as any;
2858
+
2859
+ // authentication session-oauth required
2860
+ // oauth required
2861
+ await setOAuthToObject(localVarHeaderParameter, "session-oauth", [], configuration)
2862
+
2863
+ // authentication api-key required
2864
+ await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
2865
+
2866
+ if (project !== undefined) {
2867
+ localVarQueryParameter['project'] = project;
2868
+ }
2869
+
2870
+
2871
+
2872
+ localVarHeaderParameter['Content-Type'] = 'application/json';
2873
+
2874
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
2875
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
2876
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
2877
+ localVarRequestOptions.data = serializeDataIfNeeded(seoOptimiseProductsRequest, localVarRequestOptions, configuration)
2878
+
2879
+ return {
2880
+ url: toPathString(localVarUrlObj),
2881
+ options: localVarRequestOptions,
2882
+ };
2883
+ },
2677
2884
  /**
2678
2885
  * Updates a product by a given ID.
2679
2886
  * @summary Update product
@@ -2861,6 +3068,20 @@ export const ProductsApiFp = function(configuration?: Configuration) {
2861
3068
  const localVarOperationServerBasePath = operationServerMap['ProductsApi.listProducts']?.[localVarOperationServerIndex]?.url;
2862
3069
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
2863
3070
  },
3071
+ /**
3072
+ * AI SEO optimises products by a set of given IDs.
3073
+ * @summary AI SEO optimise products.
3074
+ * @param {string} project What project it is
3075
+ * @param {SeoOptimiseProductsRequest} [seoOptimiseProductsRequest] A set of product IDs to AI SEO optimise.
3076
+ * @param {*} [options] Override http request option.
3077
+ * @throws {RequiredError}
3078
+ */
3079
+ async seoOptimiseProducts(project: string, seoOptimiseProductsRequest?: SeoOptimiseProductsRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SeoOptimiseProducts202Response>> {
3080
+ const localVarAxiosArgs = await localVarAxiosParamCreator.seoOptimiseProducts(project, seoOptimiseProductsRequest, options);
3081
+ const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
3082
+ const localVarOperationServerBasePath = operationServerMap['ProductsApi.seoOptimiseProducts']?.[localVarOperationServerIndex]?.url;
3083
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
3084
+ },
2864
3085
  /**
2865
3086
  * Updates a product by a given ID.
2866
3087
  * @summary Update product
@@ -2950,6 +3171,16 @@ export const ProductsApiFactory = function (configuration?: Configuration, baseP
2950
3171
  listProducts(requestParameters: ProductsApiListProductsRequest, options?: RawAxiosRequestConfig): AxiosPromise<ProductsResponse> {
2951
3172
  return localVarFp.listProducts(requestParameters.project, requestParameters.pageToken, requestParameters.search, requestParameters.sortBy, requestParameters.pageSize, requestParameters.fields, options).then((request) => request(axios, basePath));
2952
3173
  },
3174
+ /**
3175
+ * AI SEO optimises products by a set of given IDs.
3176
+ * @summary AI SEO optimise products.
3177
+ * @param {ProductsApiSeoOptimiseProductsRequest} requestParameters Request parameters.
3178
+ * @param {*} [options] Override http request option.
3179
+ * @throws {RequiredError}
3180
+ */
3181
+ seoOptimiseProducts(requestParameters: ProductsApiSeoOptimiseProductsRequest, options?: RawAxiosRequestConfig): AxiosPromise<SeoOptimiseProducts202Response> {
3182
+ return localVarFp.seoOptimiseProducts(requestParameters.project, requestParameters.seoOptimiseProductsRequest, options).then((request) => request(axios, basePath));
3183
+ },
2953
3184
  /**
2954
3185
  * Updates a product by a given ID.
2955
3186
  * @summary Update product
@@ -3113,6 +3344,27 @@ export interface ProductsApiListProductsRequest {
3113
3344
  readonly fields?: string
3114
3345
  }
3115
3346
 
3347
+ /**
3348
+ * Request parameters for seoOptimiseProducts operation in ProductsApi.
3349
+ * @export
3350
+ * @interface ProductsApiSeoOptimiseProductsRequest
3351
+ */
3352
+ export interface ProductsApiSeoOptimiseProductsRequest {
3353
+ /**
3354
+ * What project it is
3355
+ * @type {string}
3356
+ * @memberof ProductsApiSeoOptimiseProducts
3357
+ */
3358
+ readonly project: string
3359
+
3360
+ /**
3361
+ * A set of product IDs to AI SEO optimise.
3362
+ * @type {SeoOptimiseProductsRequest}
3363
+ * @memberof ProductsApiSeoOptimiseProducts
3364
+ */
3365
+ readonly seoOptimiseProductsRequest?: SeoOptimiseProductsRequest
3366
+ }
3367
+
3116
3368
  /**
3117
3369
  * Request parameters for updateProduct operation in ProductsApi.
3118
3370
  * @export
@@ -3229,6 +3481,18 @@ export class ProductsApi extends BaseAPI {
3229
3481
  return ProductsApiFp(this.configuration).listProducts(requestParameters.project, requestParameters.pageToken, requestParameters.search, requestParameters.sortBy, requestParameters.pageSize, requestParameters.fields, options).then((request) => request(this.axios, this.basePath));
3230
3482
  }
3231
3483
 
3484
+ /**
3485
+ * AI SEO optimises products by a set of given IDs.
3486
+ * @summary AI SEO optimise products.
3487
+ * @param {ProductsApiSeoOptimiseProductsRequest} requestParameters Request parameters.
3488
+ * @param {*} [options] Override http request option.
3489
+ * @throws {RequiredError}
3490
+ * @memberof ProductsApi
3491
+ */
3492
+ public seoOptimiseProducts(requestParameters: ProductsApiSeoOptimiseProductsRequest, options?: RawAxiosRequestConfig) {
3493
+ return ProductsApiFp(this.configuration).seoOptimiseProducts(requestParameters.project, requestParameters.seoOptimiseProductsRequest, options).then((request) => request(this.axios, this.basePath));
3494
+ }
3495
+
3232
3496
  /**
3233
3497
  * Updates a product by a given ID.
3234
3498
  * @summary Update product