@teemill/product-catalog 1.48.0 → 1.50.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.
Files changed (94) hide show
  1. package/README.md +117 -2
  2. package/api.ts +127 -1
  3. package/base.ts +1 -1
  4. package/common.ts +1 -1
  5. package/configuration.ts +1 -1
  6. package/dist/api.d.ts +74 -1
  7. package/dist/api.js +80 -1
  8. package/dist/base.d.ts +1 -1
  9. package/dist/base.js +1 -1
  10. package/dist/common.d.ts +1 -1
  11. package/dist/common.js +1 -1
  12. package/dist/configuration.d.ts +1 -1
  13. package/dist/configuration.js +1 -1
  14. package/dist/esm/api.d.ts +74 -1
  15. package/dist/esm/api.js +80 -1
  16. package/dist/esm/base.d.ts +1 -1
  17. package/dist/esm/base.js +1 -1
  18. package/dist/esm/common.d.ts +1 -1
  19. package/dist/esm/common.js +1 -1
  20. package/dist/esm/configuration.d.ts +1 -1
  21. package/dist/esm/configuration.js +1 -1
  22. package/dist/esm/index.d.ts +1 -1
  23. package/dist/esm/index.js +1 -1
  24. package/dist/index.d.ts +1 -1
  25. package/dist/index.js +1 -1
  26. package/docs/AdditionalFile.md +20 -0
  27. package/docs/ApiError.md +22 -0
  28. package/docs/Application.md +28 -0
  29. package/docs/ApplicationMockup.md +22 -0
  30. package/docs/ApplicationSet.md +38 -0
  31. package/docs/ApplicationSet1.md +22 -0
  32. package/docs/ApplicationSetRecord.md +26 -0
  33. package/docs/ApplicationSetsApi.md +317 -0
  34. package/docs/ApplicationSetsResponse.md +22 -0
  35. package/docs/Attribute.md +26 -0
  36. package/docs/AttributeThumbnail.md +23 -0
  37. package/docs/Attributes1Inner.md +22 -0
  38. package/docs/CreateApplication.md +24 -0
  39. package/docs/CreateApplicationSetRequest.md +30 -0
  40. package/docs/CreateApplicationSetRequestRecordsInner.md +22 -0
  41. package/docs/CreateApplicationSetRequestRecordsInnerAttributesInner.md +22 -0
  42. package/docs/CreateBundleProduct.md +54 -0
  43. package/docs/CreateProduct.md +56 -0
  44. package/docs/CreateProductAdditionalFilesInner.md +20 -0
  45. package/docs/CreateProductImagesInner.md +22 -0
  46. package/docs/CreateProductRequest.md +64 -0
  47. package/docs/CreateProductVariant.md +36 -0
  48. package/docs/CreateProductVariantImagesInner.md +20 -0
  49. package/docs/CreateProductVideosInner.md +20 -0
  50. package/docs/DeleteProductsRequest.md +20 -0
  51. package/docs/DuplicateProducts202Response.md +20 -0
  52. package/docs/DuplicateProductsRequest.md +22 -0
  53. package/docs/ExportProducts202Response.md +20 -0
  54. package/docs/Image.md +35 -0
  55. package/docs/ImageFile.md +22 -0
  56. package/docs/ImportProducts200Response.md +20 -0
  57. package/docs/Location.md +22 -0
  58. package/docs/MetaField.md +23 -0
  59. package/docs/OptimisationHistoryItem.md +22 -0
  60. package/docs/Price.md +23 -0
  61. package/docs/Product.md +86 -0
  62. package/docs/ProductAdditionalFilesInner.md +22 -0
  63. package/docs/ProductApplicationSetsInner.md +24 -0
  64. package/docs/ProductWarehouseProduct.md +22 -0
  65. package/docs/ProductsApi.md +687 -0
  66. package/docs/ProductsResponse.md +22 -0
  67. package/docs/SEOMetadata.md +23 -0
  68. package/docs/SeoOptimiseProducts202Response.md +20 -0
  69. package/docs/SeoOptimiseProductsRequest.md +22 -0
  70. package/docs/Stock.md +22 -0
  71. package/docs/TargetSearchPhraseData.md +22 -0
  72. package/docs/UpdateApplicationSetRequest.md +30 -0
  73. package/docs/UpdateApplicationSetRequestRecordsInner.md +22 -0
  74. package/docs/UpdateApplicationSetRequestRecordsInnerAttributesInner.md +22 -0
  75. package/docs/UpdateProductRequest.md +64 -0
  76. package/docs/UpdateProductRequestIntegrationConnectionsInner.md +22 -0
  77. package/docs/UpdateProductsRequest.md +20 -0
  78. package/docs/UpdateProductsRequestProductsInner.md +42 -0
  79. package/docs/UpdateProductsRequestProductsInnerIntegrationConnectionsInner.md +22 -0
  80. package/docs/UpdateProductsRequestProductsInnerSeoMetadata.md +22 -0
  81. package/docs/UpdateProductsRequestProductsInnerVariantsInner.md +30 -0
  82. package/docs/UpdateProductsRequestProductsInnerVariantsInnerAttributesInner.md +22 -0
  83. package/docs/UpdateProductsRequestProductsInnerVariantsInnerIntegrationConnectionsInner.md +22 -0
  84. package/docs/UpdateProductsRequestProductsInnerVariantsInnerRetailPrice.md +23 -0
  85. package/docs/UpdateProductsRequestProductsInnerVariantsInnerSalePrice.md +23 -0
  86. package/docs/Variant.md +58 -0
  87. package/docs/VariantIntegrationConnectionsInner.md +22 -0
  88. package/docs/VariantProduct.md +22 -0
  89. package/docs/VariantsApi.md +138 -0
  90. package/docs/VariantsResponse.md +22 -0
  91. package/docs/Video.md +31 -0
  92. package/docs/VideoFile.md +20 -0
  93. package/index.ts +1 -1
  94. package/package.json +1 -1
@@ -0,0 +1,687 @@
1
+ # ProductsApi
2
+
3
+ All URIs are relative to *https://api.podos.io*
4
+
5
+ |Method | HTTP request | Description|
6
+ |------------- | ------------- | -------------|
7
+ |[**createProduct**](#createproduct) | **POST** /v1/catalog/products | Create product|
8
+ |[**deleteProduct**](#deleteproduct) | **DELETE** /v1/catalog/products/{productId} | Delete catalog product|
9
+ |[**deleteProducts**](#deleteproducts) | **DELETE** /v1/catalog/products | Delete products|
10
+ |[**duplicateProducts**](#duplicateproducts) | **POST** /v1/catalog/products/duplicate | Duplicate products.|
11
+ |[**exportProducts**](#exportproducts) | **GET** /v1/catalog/products/export | Export products|
12
+ |[**getProduct**](#getproduct) | **GET** /v1/catalog/products/{productId} | Get product|
13
+ |[**importProducts**](#importproducts) | **POST** /v1/catalog/products/import | Import products|
14
+ |[**listProducts**](#listproducts) | **GET** /v1/catalog/products | List products|
15
+ |[**seoOptimiseProducts**](#seooptimiseproducts) | **POST** /v1/catalog/products/ai-seo-optimise | AI SEO optimise products.|
16
+ |[**updateProduct**](#updateproduct) | **PATCH** /v1/catalog/products/{productId} | Update product|
17
+ |[**updateProducts**](#updateproducts) | **PATCH** /v1/catalog/products | Update products|
18
+
19
+ # **createProduct**
20
+ > Product createProduct()
21
+
22
+ Creates a new catalog product based on a given warehouse product with the variants and design applications provided. To select a warehouse product to base this product on, use the GFN Catalog API to list available options.
23
+
24
+ ### Example
25
+
26
+ ```typescript
27
+ import {
28
+ ProductsApi,
29
+ Configuration,
30
+ CreateProductRequest
31
+ } from '@teemill/product-catalog';
32
+
33
+ const configuration = new Configuration();
34
+ const apiInstance = new ProductsApi(configuration);
35
+
36
+ let project: string; //What project it is (default to undefined)
37
+ let createProductRequest: CreateProductRequest; // (optional)
38
+
39
+ const { status, data } = await apiInstance.createProduct(
40
+ project,
41
+ createProductRequest
42
+ );
43
+ ```
44
+
45
+ ### Parameters
46
+
47
+ |Name | Type | Description | Notes|
48
+ |------------- | ------------- | ------------- | -------------|
49
+ | **createProductRequest** | **CreateProductRequest**| | |
50
+ | **project** | [**string**] | What project it is | defaults to undefined|
51
+
52
+
53
+ ### Return type
54
+
55
+ **Product**
56
+
57
+ ### Authorization
58
+
59
+ [session-oauth](../README.md#session-oauth), [api-key](../README.md#api-key)
60
+
61
+ ### HTTP request headers
62
+
63
+ - **Content-Type**: application/json
64
+ - **Accept**: application/json
65
+
66
+
67
+ ### HTTP response details
68
+ | Status code | Description | Response headers |
69
+ |-------------|-------------|------------------|
70
+ |**201** | Successfully retrieved a product. | - |
71
+ |**400** | Failed validation. | - |
72
+ |**401** | Not authorised to access this resource. | - |
73
+ |**403** | Refuse to authorize. | - |
74
+ |**404** | Resource not found. | - |
75
+ |**500** | Unknown server error. | - |
76
+
77
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
78
+
79
+ # **deleteProduct**
80
+ > deleteProduct()
81
+
82
+ Deletes a catalog product
83
+
84
+ ### Example
85
+
86
+ ```typescript
87
+ import {
88
+ ProductsApi,
89
+ Configuration
90
+ } from '@teemill/product-catalog';
91
+
92
+ const configuration = new Configuration();
93
+ const apiInstance = new ProductsApi(configuration);
94
+
95
+ let project: string; //What project it is (default to undefined)
96
+ let productId: string; //Product\'s unique identifier (default to undefined)
97
+
98
+ const { status, data } = await apiInstance.deleteProduct(
99
+ project,
100
+ productId
101
+ );
102
+ ```
103
+
104
+ ### Parameters
105
+
106
+ |Name | Type | Description | Notes|
107
+ |------------- | ------------- | ------------- | -------------|
108
+ | **project** | [**string**] | What project it is | defaults to undefined|
109
+ | **productId** | [**string**] | Product\'s unique identifier | defaults to undefined|
110
+
111
+
112
+ ### Return type
113
+
114
+ void (empty response body)
115
+
116
+ ### Authorization
117
+
118
+ [session-oauth](../README.md#session-oauth), [api-key](../README.md#api-key)
119
+
120
+ ### HTTP request headers
121
+
122
+ - **Content-Type**: Not defined
123
+ - **Accept**: application/json
124
+
125
+
126
+ ### HTTP response details
127
+ | Status code | Description | Response headers |
128
+ |-------------|-------------|------------------|
129
+ |**204** | Product deleted | - |
130
+ |**400** | Failed validation. | - |
131
+ |**401** | Not authorised to access this resource. | - |
132
+ |**403** | Refuse to authorize. | - |
133
+ |**404** | Refuse to authorize. | - |
134
+ |**500** | Unknown server error. | - |
135
+
136
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
137
+
138
+ # **deleteProducts**
139
+ > deleteProducts(deleteProductsRequest)
140
+
141
+ Deletes catalog products for the given project.
142
+
143
+ ### Example
144
+
145
+ ```typescript
146
+ import {
147
+ ProductsApi,
148
+ Configuration,
149
+ DeleteProductsRequest
150
+ } from '@teemill/product-catalog';
151
+
152
+ const configuration = new Configuration();
153
+ const apiInstance = new ProductsApi(configuration);
154
+
155
+ let project: string; //What project it is (default to undefined)
156
+ let deleteProductsRequest: DeleteProductsRequest; //Delete products in bulk.
157
+
158
+ const { status, data } = await apiInstance.deleteProducts(
159
+ project,
160
+ deleteProductsRequest
161
+ );
162
+ ```
163
+
164
+ ### Parameters
165
+
166
+ |Name | Type | Description | Notes|
167
+ |------------- | ------------- | ------------- | -------------|
168
+ | **deleteProductsRequest** | **DeleteProductsRequest**| Delete products in bulk. | |
169
+ | **project** | [**string**] | What project it is | defaults to undefined|
170
+
171
+
172
+ ### Return type
173
+
174
+ void (empty response body)
175
+
176
+ ### Authorization
177
+
178
+ [session-oauth](../README.md#session-oauth), [api-key](../README.md#api-key)
179
+
180
+ ### HTTP request headers
181
+
182
+ - **Content-Type**: application/json
183
+ - **Accept**: application/json
184
+
185
+
186
+ ### HTTP response details
187
+ | Status code | Description | Response headers |
188
+ |-------------|-------------|------------------|
189
+ |**204** | Products deleted | - |
190
+ |**400** | Failed validation. | - |
191
+ |**401** | Not authorised to access this resource. | - |
192
+ |**403** | Refuse to authorize. | - |
193
+ |**404** | Resource not found. | - |
194
+ |**500** | Unknown server error. | - |
195
+
196
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
197
+
198
+ # **duplicateProducts**
199
+ > DuplicateProducts202Response duplicateProducts()
200
+
201
+ Duplicate products by a set of given IDs to a set of given project IDs.
202
+
203
+ ### Example
204
+
205
+ ```typescript
206
+ import {
207
+ ProductsApi,
208
+ Configuration,
209
+ DuplicateProductsRequest
210
+ } from '@teemill/product-catalog';
211
+
212
+ const configuration = new Configuration();
213
+ const apiInstance = new ProductsApi(configuration);
214
+
215
+ let project: string; //What project it is (default to undefined)
216
+ let duplicateProductsRequest: DuplicateProductsRequest; //A set of product IDs to duplicate and the project IDs to duplicate them to. (optional)
217
+
218
+ const { status, data } = await apiInstance.duplicateProducts(
219
+ project,
220
+ duplicateProductsRequest
221
+ );
222
+ ```
223
+
224
+ ### Parameters
225
+
226
+ |Name | Type | Description | Notes|
227
+ |------------- | ------------- | ------------- | -------------|
228
+ | **duplicateProductsRequest** | **DuplicateProductsRequest**| A set of product IDs to duplicate and the project IDs to duplicate them to. | |
229
+ | **project** | [**string**] | What project it is | defaults to undefined|
230
+
231
+
232
+ ### Return type
233
+
234
+ **DuplicateProducts202Response**
235
+
236
+ ### Authorization
237
+
238
+ [session-oauth](../README.md#session-oauth), [api-key](../README.md#api-key)
239
+
240
+ ### HTTP request headers
241
+
242
+ - **Content-Type**: application/json
243
+ - **Accept**: application/json
244
+
245
+
246
+ ### HTTP response details
247
+ | Status code | Description | Response headers |
248
+ |-------------|-------------|------------------|
249
+ |**202** | Products queued for duplication. | - |
250
+ |**400** | Failed validation. | - |
251
+ |**401** | Not authorised to access this resource. | - |
252
+ |**403** | Refuse to authorize. | - |
253
+ |**404** | Resource not found. | - |
254
+ |**500** | Unknown server error. | - |
255
+
256
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
257
+
258
+ # **exportProducts**
259
+ > File exportProducts()
260
+
261
+ Export the project\'s products and variants as a CSV file.
262
+
263
+ ### Example
264
+
265
+ ```typescript
266
+ import {
267
+ ProductsApi,
268
+ Configuration
269
+ } from '@teemill/product-catalog';
270
+
271
+ const configuration = new Configuration();
272
+ const apiInstance = new ProductsApi(configuration);
273
+
274
+ let project: string; //What project it is (default to undefined)
275
+
276
+ const { status, data } = await apiInstance.exportProducts(
277
+ project
278
+ );
279
+ ```
280
+
281
+ ### Parameters
282
+
283
+ |Name | Type | Description | Notes|
284
+ |------------- | ------------- | ------------- | -------------|
285
+ | **project** | [**string**] | What project it is | defaults to undefined|
286
+
287
+
288
+ ### Return type
289
+
290
+ **File**
291
+
292
+ ### Authorization
293
+
294
+ [session-oauth](../README.md#session-oauth), [api-key](../README.md#api-key)
295
+
296
+ ### HTTP request headers
297
+
298
+ - **Content-Type**: Not defined
299
+ - **Accept**: text/csv; charset=utf-8, application/json
300
+
301
+
302
+ ### HTTP response details
303
+ | Status code | Description | Response headers |
304
+ |-------------|-------------|------------------|
305
+ |**200** | Returns the CSV export | - |
306
+ |**202** | Export started. When complete, the export will be available for download from a notification within PodOS Dashboard. | - |
307
+ |**400** | Failed validation. | - |
308
+ |**401** | Not authorised to access this resource. | - |
309
+ |**403** | Refuse to authorize. | - |
310
+ |**500** | Unknown server error. | - |
311
+
312
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
313
+
314
+ # **getProduct**
315
+ > Product getProduct()
316
+
317
+ Gets a product by a given ID.
318
+
319
+ ### Example
320
+
321
+ ```typescript
322
+ import {
323
+ ProductsApi,
324
+ Configuration
325
+ } from '@teemill/product-catalog';
326
+
327
+ const configuration = new Configuration();
328
+ const apiInstance = new ProductsApi(configuration);
329
+
330
+ let project: string; //What project it is (default to undefined)
331
+ let productId: string; //Product\'s unique identifier (default to undefined)
332
+ let fields: string; //Filter response fields to only include a subset of the resource. (optional) (default to undefined)
333
+
334
+ const { status, data } = await apiInstance.getProduct(
335
+ project,
336
+ productId,
337
+ fields
338
+ );
339
+ ```
340
+
341
+ ### Parameters
342
+
343
+ |Name | Type | Description | Notes|
344
+ |------------- | ------------- | ------------- | -------------|
345
+ | **project** | [**string**] | What project it is | defaults to undefined|
346
+ | **productId** | [**string**] | Product\'s unique identifier | defaults to undefined|
347
+ | **fields** | [**string**] | Filter response fields to only include a subset of the resource. | (optional) defaults to undefined|
348
+
349
+
350
+ ### Return type
351
+
352
+ **Product**
353
+
354
+ ### Authorization
355
+
356
+ [session-oauth](../README.md#session-oauth), [api-key](../README.md#api-key)
357
+
358
+ ### HTTP request headers
359
+
360
+ - **Content-Type**: Not defined
361
+ - **Accept**: application/json
362
+
363
+
364
+ ### HTTP response details
365
+ | Status code | Description | Response headers |
366
+ |-------------|-------------|------------------|
367
+ |**200** | Successfully retrieved a product. | - |
368
+ |**400** | Failed validation. | - |
369
+ |**401** | Not authorised to access this resource. | - |
370
+ |**403** | Refuse to authorize. | - |
371
+ |**404** | Resource not found. | - |
372
+ |**500** | Unknown server error. | - |
373
+
374
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
375
+
376
+ # **importProducts**
377
+ > ImportProducts200Response importProducts()
378
+
379
+ Initiates a product import from a CSV file. The result will be available as a notification within the dashboard.
380
+
381
+ ### Example
382
+
383
+ ```typescript
384
+ import {
385
+ ProductsApi,
386
+ Configuration
387
+ } from '@teemill/product-catalog';
388
+
389
+ const configuration = new Configuration();
390
+ const apiInstance = new ProductsApi(configuration);
391
+
392
+ let project: string; //What project it is (default to undefined)
393
+ let body: string; //A data URL of a CSV file containing data for one or more products. (optional)
394
+
395
+ const { status, data } = await apiInstance.importProducts(
396
+ project,
397
+ body
398
+ );
399
+ ```
400
+
401
+ ### Parameters
402
+
403
+ |Name | Type | Description | Notes|
404
+ |------------- | ------------- | ------------- | -------------|
405
+ | **body** | **string**| A data URL of a CSV file containing data for one or more products. | |
406
+ | **project** | [**string**] | What project it is | defaults to undefined|
407
+
408
+
409
+ ### Return type
410
+
411
+ **ImportProducts200Response**
412
+
413
+ ### Authorization
414
+
415
+ [session-oauth](../README.md#session-oauth), [api-key](../README.md#api-key)
416
+
417
+ ### HTTP request headers
418
+
419
+ - **Content-Type**: text/csv
420
+ - **Accept**: application/json
421
+
422
+
423
+ ### HTTP response details
424
+ | Status code | Description | Response headers |
425
+ |-------------|-------------|------------------|
426
+ |**200** | CSV file was accepted; products will be imported asynchronously. | - |
427
+ |**400** | Failed validation. | - |
428
+ |**401** | Not authorised to access this resource. | - |
429
+ |**403** | Refuse to authorize. | - |
430
+ |**404** | Resource not found. | - |
431
+ |**500** | Unknown server error. | - |
432
+
433
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
434
+
435
+ # **listProducts**
436
+ > ProductsResponse listProducts()
437
+
438
+ Lists all store listing products attached to the given project.
439
+
440
+ ### Example
441
+
442
+ ```typescript
443
+ import {
444
+ ProductsApi,
445
+ Configuration
446
+ } from '@teemill/product-catalog';
447
+
448
+ const configuration = new Configuration();
449
+ const apiInstance = new ProductsApi(configuration);
450
+
451
+ let project: string; //What project it is (default to undefined)
452
+ let pageToken: number; //Page reference token (optional) (default to 1)
453
+ let search: string; //Search query string to filter results. Supports field-specific filters like \'enabled:true\', \'uuid:<id>\', \'name:\"product name\"\', and \'tag:\"tag name\"\'. Multiple filters can be combined with spaces and commas. (optional) (default to 'enabled:true')
454
+ let sortBy: Array<string>; //An array of fields to sort by, prefixed with a \'-\' for descending order or \'+\' for ascending. Default is ascending. (optional) (default to undefined)
455
+ let pageSize: number; //Max page size. This is the maximum page size that will be returned, but it might be smaller. (optional) (default to 10)
456
+ let fields: string; //Filter response fields to only include a subset of the resource. (optional) (default to undefined)
457
+
458
+ const { status, data } = await apiInstance.listProducts(
459
+ project,
460
+ pageToken,
461
+ search,
462
+ sortBy,
463
+ pageSize,
464
+ fields
465
+ );
466
+ ```
467
+
468
+ ### Parameters
469
+
470
+ |Name | Type | Description | Notes|
471
+ |------------- | ------------- | ------------- | -------------|
472
+ | **project** | [**string**] | What project it is | defaults to undefined|
473
+ | **pageToken** | [**number**] | Page reference token | (optional) defaults to 1|
474
+ | **search** | [**string**] | Search query string to filter results. Supports field-specific filters like \&#39;enabled:true\&#39;, \&#39;uuid:&lt;id&gt;\&#39;, \&#39;name:\&quot;product name\&quot;\&#39;, and \&#39;tag:\&quot;tag name\&quot;\&#39;. Multiple filters can be combined with spaces and commas. | (optional) defaults to 'enabled:true'|
475
+ | **sortBy** | **Array&lt;string&gt;** | An array of fields to sort by, prefixed with a \&#39;-\&#39; for descending order or \&#39;+\&#39; for ascending. Default is ascending. | (optional) defaults to undefined|
476
+ | **pageSize** | [**number**] | Max page size. This is the maximum page size that will be returned, but it might be smaller. | (optional) defaults to 10|
477
+ | **fields** | [**string**] | Filter response fields to only include a subset of the resource. | (optional) defaults to undefined|
478
+
479
+
480
+ ### Return type
481
+
482
+ **ProductsResponse**
483
+
484
+ ### Authorization
485
+
486
+ [session-oauth](../README.md#session-oauth), [api-key](../README.md#api-key)
487
+
488
+ ### HTTP request headers
489
+
490
+ - **Content-Type**: Not defined
491
+ - **Accept**: application/json
492
+
493
+
494
+ ### HTTP response details
495
+ | Status code | Description | Response headers |
496
+ |-------------|-------------|------------------|
497
+ |**200** | Successfully retrieved all products. | - |
498
+ |**400** | Failed validation. | - |
499
+ |**401** | Not authorised to access this resource. | - |
500
+ |**403** | Refuse to authorize. | - |
501
+ |**500** | Unknown server error. | - |
502
+
503
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
504
+
505
+ # **seoOptimiseProducts**
506
+ > SeoOptimiseProducts202Response seoOptimiseProducts()
507
+
508
+ AI SEO optimises products by a set of given IDs.
509
+
510
+ ### Example
511
+
512
+ ```typescript
513
+ import {
514
+ ProductsApi,
515
+ Configuration,
516
+ SeoOptimiseProductsRequest
517
+ } from '@teemill/product-catalog';
518
+
519
+ const configuration = new Configuration();
520
+ const apiInstance = new ProductsApi(configuration);
521
+
522
+ let project: string; //What project it is (default to undefined)
523
+ let seoOptimiseProductsRequest: SeoOptimiseProductsRequest; //A set of product IDs to AI SEO optimise. (optional)
524
+
525
+ const { status, data } = await apiInstance.seoOptimiseProducts(
526
+ project,
527
+ seoOptimiseProductsRequest
528
+ );
529
+ ```
530
+
531
+ ### Parameters
532
+
533
+ |Name | Type | Description | Notes|
534
+ |------------- | ------------- | ------------- | -------------|
535
+ | **seoOptimiseProductsRequest** | **SeoOptimiseProductsRequest**| A set of product IDs to AI SEO optimise. | |
536
+ | **project** | [**string**] | What project it is | defaults to undefined|
537
+
538
+
539
+ ### Return type
540
+
541
+ **SeoOptimiseProducts202Response**
542
+
543
+ ### Authorization
544
+
545
+ [session-oauth](../README.md#session-oauth), [api-key](../README.md#api-key)
546
+
547
+ ### HTTP request headers
548
+
549
+ - **Content-Type**: application/json
550
+ - **Accept**: application/json
551
+
552
+
553
+ ### HTTP response details
554
+ | Status code | Description | Response headers |
555
+ |-------------|-------------|------------------|
556
+ |**202** | Products queued for optimisation. | - |
557
+ |**400** | Failed validation. | - |
558
+ |**401** | Not authorised to access this resource. | - |
559
+ |**403** | Refuse to authorize. | - |
560
+ |**404** | Resource not found. | - |
561
+ |**500** | Unknown server error. | - |
562
+
563
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
564
+
565
+ # **updateProduct**
566
+ > Product updateProduct()
567
+
568
+ Updates a product by a given ID.
569
+
570
+ ### Example
571
+
572
+ ```typescript
573
+ import {
574
+ ProductsApi,
575
+ Configuration,
576
+ UpdateProductRequest
577
+ } from '@teemill/product-catalog';
578
+
579
+ const configuration = new Configuration();
580
+ const apiInstance = new ProductsApi(configuration);
581
+
582
+ let project: string; //What project it is (default to undefined)
583
+ let productId: string; //Product\'s unique identifier (default to undefined)
584
+ let updateProductRequest: UpdateProductRequest; // (optional)
585
+
586
+ const { status, data } = await apiInstance.updateProduct(
587
+ project,
588
+ productId,
589
+ updateProductRequest
590
+ );
591
+ ```
592
+
593
+ ### Parameters
594
+
595
+ |Name | Type | Description | Notes|
596
+ |------------- | ------------- | ------------- | -------------|
597
+ | **updateProductRequest** | **UpdateProductRequest**| | |
598
+ | **project** | [**string**] | What project it is | defaults to undefined|
599
+ | **productId** | [**string**] | Product\&#39;s unique identifier | defaults to undefined|
600
+
601
+
602
+ ### Return type
603
+
604
+ **Product**
605
+
606
+ ### Authorization
607
+
608
+ [session-oauth](../README.md#session-oauth), [api-key](../README.md#api-key)
609
+
610
+ ### HTTP request headers
611
+
612
+ - **Content-Type**: application/json
613
+ - **Accept**: application/json
614
+
615
+
616
+ ### HTTP response details
617
+ | Status code | Description | Response headers |
618
+ |-------------|-------------|------------------|
619
+ |**200** | Successfully retrieved a product. | - |
620
+ |**400** | Failed validation. | - |
621
+ |**401** | Not authorised to access this resource. | - |
622
+ |**403** | Refuse to authorize. | - |
623
+ |**404** | Resource not found. | - |
624
+ |**500** | Unknown server error. | - |
625
+
626
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
627
+
628
+ # **updateProducts**
629
+ > ProductsResponse updateProducts(updateProductsRequest)
630
+
631
+ Updates catalog products for the given project.
632
+
633
+ ### Example
634
+
635
+ ```typescript
636
+ import {
637
+ ProductsApi,
638
+ Configuration,
639
+ UpdateProductsRequest
640
+ } from '@teemill/product-catalog';
641
+
642
+ const configuration = new Configuration();
643
+ const apiInstance = new ProductsApi(configuration);
644
+
645
+ let project: string; //What project it is (default to undefined)
646
+ let updateProductsRequest: UpdateProductsRequest; //Update products in bulk.
647
+
648
+ const { status, data } = await apiInstance.updateProducts(
649
+ project,
650
+ updateProductsRequest
651
+ );
652
+ ```
653
+
654
+ ### Parameters
655
+
656
+ |Name | Type | Description | Notes|
657
+ |------------- | ------------- | ------------- | -------------|
658
+ | **updateProductsRequest** | **UpdateProductsRequest**| Update products in bulk. | |
659
+ | **project** | [**string**] | What project it is | defaults to undefined|
660
+
661
+
662
+ ### Return type
663
+
664
+ **ProductsResponse**
665
+
666
+ ### Authorization
667
+
668
+ [session-oauth](../README.md#session-oauth), [api-key](../README.md#api-key)
669
+
670
+ ### HTTP request headers
671
+
672
+ - **Content-Type**: application/json
673
+ - **Accept**: application/json
674
+
675
+
676
+ ### HTTP response details
677
+ | Status code | Description | Response headers |
678
+ |-------------|-------------|------------------|
679
+ |**200** | Successfully retrieved all products. | - |
680
+ |**400** | Failed validation. | - |
681
+ |**401** | Not authorised to access this resource. | - |
682
+ |**403** | Refuse to authorize. | - |
683
+ |**404** | Resource not found. | - |
684
+ |**500** | Unknown server error. | - |
685
+
686
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
687
+
@@ -0,0 +1,22 @@
1
+ # ProductsResponse
2
+
3
+
4
+ ## Properties
5
+
6
+ Name | Type | Description | Notes
7
+ ------------ | ------------- | ------------- | -------------
8
+ **products** | [**Array&lt;Product&gt;**](Product.md) | | [optional] [default to undefined]
9
+ **nextPageToken** | **number** | The token referencing the next page number | [optional] [default to undefined]
10
+
11
+ ## Example
12
+
13
+ ```typescript
14
+ import { ProductsResponse } from '@teemill/product-catalog';
15
+
16
+ const instance: ProductsResponse = {
17
+ products,
18
+ nextPageToken,
19
+ };
20
+ ```
21
+
22
+ [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)