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