@wix/auto_sdk_stores_products 1.0.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 (111) hide show
  1. package/build/cjs/index.d.ts +1 -0
  2. package/build/cjs/index.js +18 -0
  3. package/build/cjs/index.js.map +1 -0
  4. package/build/cjs/index.typings.d.ts +1 -0
  5. package/build/cjs/index.typings.js +18 -0
  6. package/build/cjs/index.typings.js.map +1 -0
  7. package/build/cjs/meta.d.ts +1 -0
  8. package/build/cjs/meta.js +18 -0
  9. package/build/cjs/meta.js.map +1 -0
  10. package/build/cjs/src/stores-catalog-v1-product-products.context.d.ts +66 -0
  11. package/build/cjs/src/stores-catalog-v1-product-products.context.js +79 -0
  12. package/build/cjs/src/stores-catalog-v1-product-products.context.js.map +1 -0
  13. package/build/cjs/src/stores-catalog-v1-product-products.http.d.ts +75 -0
  14. package/build/cjs/src/stores-catalog-v1-product-products.http.js +1158 -0
  15. package/build/cjs/src/stores-catalog-v1-product-products.http.js.map +1 -0
  16. package/build/cjs/src/stores-catalog-v1-product-products.meta.d.ts +78 -0
  17. package/build/cjs/src/stores-catalog-v1-product-products.meta.js +522 -0
  18. package/build/cjs/src/stores-catalog-v1-product-products.meta.js.map +1 -0
  19. package/build/cjs/src/stores-catalog-v1-product-products.public.d.ts +242 -0
  20. package/build/cjs/src/stores-catalog-v1-product-products.public.js +196 -0
  21. package/build/cjs/src/stores-catalog-v1-product-products.public.js.map +1 -0
  22. package/build/cjs/src/stores-catalog-v1-product-products.types.d.ts +1868 -0
  23. package/build/cjs/src/stores-catalog-v1-product-products.types.js +106 -0
  24. package/build/cjs/src/stores-catalog-v1-product-products.types.js.map +1 -0
  25. package/build/cjs/src/stores-catalog-v1-product-products.universal.d.ts +2682 -0
  26. package/build/cjs/src/stores-catalog-v1-product-products.universal.js +1236 -0
  27. package/build/cjs/src/stores-catalog-v1-product-products.universal.js.map +1 -0
  28. package/build/es/index.d.ts +1 -0
  29. package/build/es/index.js +2 -0
  30. package/build/es/index.js.map +1 -0
  31. package/build/es/index.typings.d.ts +1 -0
  32. package/build/es/index.typings.js +2 -0
  33. package/build/es/index.typings.js.map +1 -0
  34. package/build/es/meta.d.ts +1 -0
  35. package/build/es/meta.js +2 -0
  36. package/build/es/meta.js.map +1 -0
  37. package/build/es/package.json +3 -0
  38. package/build/es/src/stores-catalog-v1-product-products.context.d.ts +66 -0
  39. package/build/es/src/stores-catalog-v1-product-products.context.js +66 -0
  40. package/build/es/src/stores-catalog-v1-product-products.context.js.map +1 -0
  41. package/build/es/src/stores-catalog-v1-product-products.http.d.ts +75 -0
  42. package/build/es/src/stores-catalog-v1-product-products.http.js +1129 -0
  43. package/build/es/src/stores-catalog-v1-product-products.http.js.map +1 -0
  44. package/build/es/src/stores-catalog-v1-product-products.meta.d.ts +78 -0
  45. package/build/es/src/stores-catalog-v1-product-products.meta.js +470 -0
  46. package/build/es/src/stores-catalog-v1-product-products.meta.js.map +1 -0
  47. package/build/es/src/stores-catalog-v1-product-products.public.d.ts +242 -0
  48. package/build/es/src/stores-catalog-v1-product-products.public.js +157 -0
  49. package/build/es/src/stores-catalog-v1-product-products.public.js.map +1 -0
  50. package/build/es/src/stores-catalog-v1-product-products.types.d.ts +1868 -0
  51. package/build/es/src/stores-catalog-v1-product-products.types.js +103 -0
  52. package/build/es/src/stores-catalog-v1-product-products.types.js.map +1 -0
  53. package/build/es/src/stores-catalog-v1-product-products.universal.d.ts +2682 -0
  54. package/build/es/src/stores-catalog-v1-product-products.universal.js +1184 -0
  55. package/build/es/src/stores-catalog-v1-product-products.universal.js.map +1 -0
  56. package/build/internal/cjs/index.d.ts +1 -0
  57. package/build/internal/cjs/index.js +18 -0
  58. package/build/internal/cjs/index.js.map +1 -0
  59. package/build/internal/cjs/index.typings.d.ts +1 -0
  60. package/build/internal/cjs/index.typings.js +18 -0
  61. package/build/internal/cjs/index.typings.js.map +1 -0
  62. package/build/internal/cjs/meta.d.ts +1 -0
  63. package/build/internal/cjs/meta.js +18 -0
  64. package/build/internal/cjs/meta.js.map +1 -0
  65. package/build/internal/cjs/src/stores-catalog-v1-product-products.context.d.ts +66 -0
  66. package/build/internal/cjs/src/stores-catalog-v1-product-products.context.js +79 -0
  67. package/build/internal/cjs/src/stores-catalog-v1-product-products.context.js.map +1 -0
  68. package/build/internal/cjs/src/stores-catalog-v1-product-products.http.d.ts +75 -0
  69. package/build/internal/cjs/src/stores-catalog-v1-product-products.http.js +1158 -0
  70. package/build/internal/cjs/src/stores-catalog-v1-product-products.http.js.map +1 -0
  71. package/build/internal/cjs/src/stores-catalog-v1-product-products.meta.d.ts +78 -0
  72. package/build/internal/cjs/src/stores-catalog-v1-product-products.meta.js +522 -0
  73. package/build/internal/cjs/src/stores-catalog-v1-product-products.meta.js.map +1 -0
  74. package/build/internal/cjs/src/stores-catalog-v1-product-products.public.d.ts +242 -0
  75. package/build/internal/cjs/src/stores-catalog-v1-product-products.public.js +196 -0
  76. package/build/internal/cjs/src/stores-catalog-v1-product-products.public.js.map +1 -0
  77. package/build/internal/cjs/src/stores-catalog-v1-product-products.types.d.ts +1868 -0
  78. package/build/internal/cjs/src/stores-catalog-v1-product-products.types.js +106 -0
  79. package/build/internal/cjs/src/stores-catalog-v1-product-products.types.js.map +1 -0
  80. package/build/internal/cjs/src/stores-catalog-v1-product-products.universal.d.ts +2682 -0
  81. package/build/internal/cjs/src/stores-catalog-v1-product-products.universal.js +1236 -0
  82. package/build/internal/cjs/src/stores-catalog-v1-product-products.universal.js.map +1 -0
  83. package/build/internal/es/index.d.ts +1 -0
  84. package/build/internal/es/index.js +2 -0
  85. package/build/internal/es/index.js.map +1 -0
  86. package/build/internal/es/index.typings.d.ts +1 -0
  87. package/build/internal/es/index.typings.js +2 -0
  88. package/build/internal/es/index.typings.js.map +1 -0
  89. package/build/internal/es/meta.d.ts +1 -0
  90. package/build/internal/es/meta.js +2 -0
  91. package/build/internal/es/meta.js.map +1 -0
  92. package/build/internal/es/src/stores-catalog-v1-product-products.context.d.ts +66 -0
  93. package/build/internal/es/src/stores-catalog-v1-product-products.context.js +66 -0
  94. package/build/internal/es/src/stores-catalog-v1-product-products.context.js.map +1 -0
  95. package/build/internal/es/src/stores-catalog-v1-product-products.http.d.ts +75 -0
  96. package/build/internal/es/src/stores-catalog-v1-product-products.http.js +1129 -0
  97. package/build/internal/es/src/stores-catalog-v1-product-products.http.js.map +1 -0
  98. package/build/internal/es/src/stores-catalog-v1-product-products.meta.d.ts +78 -0
  99. package/build/internal/es/src/stores-catalog-v1-product-products.meta.js +470 -0
  100. package/build/internal/es/src/stores-catalog-v1-product-products.meta.js.map +1 -0
  101. package/build/internal/es/src/stores-catalog-v1-product-products.public.d.ts +242 -0
  102. package/build/internal/es/src/stores-catalog-v1-product-products.public.js +157 -0
  103. package/build/internal/es/src/stores-catalog-v1-product-products.public.js.map +1 -0
  104. package/build/internal/es/src/stores-catalog-v1-product-products.types.d.ts +1868 -0
  105. package/build/internal/es/src/stores-catalog-v1-product-products.types.js +103 -0
  106. package/build/internal/es/src/stores-catalog-v1-product-products.types.js.map +1 -0
  107. package/build/internal/es/src/stores-catalog-v1-product-products.universal.d.ts +2682 -0
  108. package/build/internal/es/src/stores-catalog-v1-product-products.universal.js +1184 -0
  109. package/build/internal/es/src/stores-catalog-v1-product-products.universal.js.map +1 -0
  110. package/meta/package.json +3 -0
  111. package/package.json +52 -0
@@ -0,0 +1,2682 @@
1
+ export interface Product {
2
+ /**
3
+ * Product ID (generated automatically by the catalog).
4
+ * @readonly
5
+ */
6
+ _id?: string;
7
+ /**
8
+ * Product name.
9
+ *
10
+ * Min: 1 character
11
+ * Max: 80 characters
12
+ */
13
+ name?: string | null;
14
+ /** A friendly URL name (generated automatically by the catalog when a product is created), can be updated. */
15
+ slug?: string;
16
+ /** Whether the product is visible to site visitors. */
17
+ visible?: boolean | null;
18
+ /** Currently, only creating physical products ( `"productType": "physical"` ) is supported via the API. */
19
+ productType?: ProductType;
20
+ /** Product description. */
21
+ description?: string | null;
22
+ /** Stock keeping unit. If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled, SKUs will be set per variant, and this field will be empty. */
23
+ sku?: string | null;
24
+ /** Product weight. If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled, weight will be set per variant, and this field will be empty. */
25
+ weight?: number | null;
26
+ /**
27
+ * Product weight range. The minimum and maximum weights of all the variants.
28
+ * @readonly
29
+ */
30
+ weightRange?: NumericPropertyRange;
31
+ /**
32
+ * Product inventory status (in future this will be writable via Inventory API).
33
+ * @readonly
34
+ */
35
+ stock?: Stock;
36
+ /**
37
+ * Deprecated (use `priceData` instead).
38
+ * @readonly
39
+ * @deprecated
40
+ */
41
+ price?: PriceData;
42
+ /** Price data. */
43
+ priceData?: PriceData;
44
+ /**
45
+ * Price data, converted to the currency specified in request header.
46
+ * @readonly
47
+ */
48
+ convertedPriceData?: PriceData;
49
+ /**
50
+ * Product price range. The minimum and maximum prices of all the variants.
51
+ * @readonly
52
+ */
53
+ priceRange?: NumericPropertyRange;
54
+ /** Cost and profit data. */
55
+ costAndProfitData?: CostAndProfitData;
56
+ /**
57
+ * Product cost range. The minimum and maximum costs of all the variants.
58
+ * @readonly
59
+ */
60
+ costRange?: NumericPropertyRange;
61
+ /** Price per unit data. */
62
+ pricePerUnitData?: PricePerUnitData;
63
+ /** Additional text that the store owner can assign to the product (e.g. shipping details, refund policy, etc.). */
64
+ additionalInfoSections?: AdditionalInfoSection[];
65
+ /**
66
+ * Deprecated (use `ribbon` instead).
67
+ * @readonly
68
+ * @deprecated
69
+ */
70
+ ribbons?: Ribbon[];
71
+ /**
72
+ * Media items (images, videos etc) associated with this product (writable via [Add Product Media](https://dev.wix.com/api/rest/wix-stores/catalog/products/add-product-media) endpoint).
73
+ * @readonly
74
+ */
75
+ media?: Media;
76
+ /**
77
+ * Text box for the customer to add a message to their order (e.g., customization request). Currently writable only from the UI.
78
+ * @readonly
79
+ */
80
+ customTextFields?: CustomTextField[];
81
+ /** Whether variants are being managed for this product - enables unique SKU, price and weight per variant. Also affects inventory data. Once set to `true`, can be reset to `false` only if no variants exist. You cannot set `manageVariants` to `true` if more than 300 variants are defined. */
82
+ manageVariants?: boolean | null;
83
+ /** Options for this product. */
84
+ productOptions?: ProductOption[];
85
+ /**
86
+ * Product page URL for this product (generated automatically by the server).
87
+ * @readonly
88
+ */
89
+ productPageUrl?: PageUrl;
90
+ /**
91
+ * Product’s unique numeric ID (assigned in ascending order).
92
+ * Primarily used for sorting and filtering when crawling all products.
93
+ * @readonly
94
+ */
95
+ numericId?: string;
96
+ /**
97
+ * Inventory item ID - ID referencing the inventory system.
98
+ * @readonly
99
+ */
100
+ inventoryItemId?: string;
101
+ /** Discount deducted from the product's original price. */
102
+ discount?: Discount;
103
+ /**
104
+ * A list of all collection IDs that this product is included in (writable via the Catalog > Collection APIs).
105
+ * @readonly
106
+ */
107
+ collectionIds?: string[];
108
+ /**
109
+ * Product variants, will be provided if the the request was sent with the `includeVariants: true`.
110
+ *
111
+ * Max: 1,000 variants
112
+ * @readonly
113
+ */
114
+ variants?: Variant[];
115
+ /**
116
+ * Date and time the product was last updated.
117
+ * @readonly
118
+ */
119
+ lastUpdated?: Date | null;
120
+ /**
121
+ * Date and time the product was created.
122
+ * @readonly
123
+ */
124
+ _createdDate?: Date | null;
125
+ /** Custom SEO data for the product. */
126
+ seoData?: SeoSchema;
127
+ /** Product ribbon. Used to highlight relevant information about a product. For example, "Sale", "New Arrival", "Sold Out". */
128
+ ribbon?: string | null;
129
+ /** Product brand. Including a brand name can help improve site and product [visibility on search engines](https://support.wix.com/en/article/adding-brand-names-to-boost-product-page-seo-in-wix-stores). */
130
+ brand?: string | null;
131
+ }
132
+ export declare enum ProductType {
133
+ unspecified_product_type = "unspecified_product_type",
134
+ physical = "physical",
135
+ digital = "digital"
136
+ }
137
+ export interface NumericPropertyRange {
138
+ /** Minimum value. */
139
+ minValue?: number;
140
+ /** Maximum value. */
141
+ maxValue?: number;
142
+ }
143
+ export interface Stock {
144
+ /** Whether inventory is being tracked */
145
+ trackInventory?: boolean;
146
+ /** Quantity currently left in inventory */
147
+ quantity?: number | null;
148
+ /**
149
+ * Whether the product is currently in stock (relevant only when tracking manually)
150
+ * Deprecated (use `inventoryStatus` instead)
151
+ * @deprecated
152
+ */
153
+ inStock?: boolean;
154
+ /**
155
+ * The current status of the inventory
156
+ * + `IN_STOCK` - In stock
157
+ * + `OUT_OF_STOCK` - Not in stock
158
+ * + `PARTIALLY_OUT_OF_STOCK` - Some of the variants are not in stock
159
+ */
160
+ inventoryStatus?: InventoryStatus;
161
+ }
162
+ export declare enum InventoryStatus {
163
+ /** In stock */
164
+ IN_STOCK = "IN_STOCK",
165
+ /** Not in stock */
166
+ OUT_OF_STOCK = "OUT_OF_STOCK",
167
+ /** Some of the variants are not in stock */
168
+ PARTIALLY_OUT_OF_STOCK = "PARTIALLY_OUT_OF_STOCK"
169
+ }
170
+ export interface PriceData {
171
+ /**
172
+ * Product price currency
173
+ * @readonly
174
+ */
175
+ currency?: string;
176
+ /** Product price */
177
+ price?: number | null;
178
+ /**
179
+ * Discounted product price (if no discounted price is set, the product price is returned)
180
+ * @readonly
181
+ */
182
+ discountedPrice?: number;
183
+ /**
184
+ * The product price and discounted price, formatted with the currency
185
+ * @readonly
186
+ */
187
+ formatted?: FormattedPrice;
188
+ /**
189
+ * Price per unit
190
+ * @readonly
191
+ */
192
+ pricePerUnit?: number | null;
193
+ }
194
+ export interface FormattedPrice {
195
+ /** Product price formatted with the currency */
196
+ price?: string;
197
+ /** Discounted product price formatted with the currency (if no discounted price is set, the product formatted price is returned) */
198
+ discountedPrice?: string;
199
+ /**
200
+ * Price per unit
201
+ * @readonly
202
+ */
203
+ pricePerUnit?: string | null;
204
+ }
205
+ export interface CostAndProfitData {
206
+ /** Item cost. */
207
+ itemCost?: number | null;
208
+ /**
209
+ * Item cost formatted with currency symbol.
210
+ * @readonly
211
+ */
212
+ formattedItemCost?: string;
213
+ /**
214
+ * Profit. Calculated by reducing `cost` from `discounted_price`.
215
+ * @readonly
216
+ */
217
+ profit?: number;
218
+ /**
219
+ * Profit formatted with currency symbol.
220
+ * @readonly
221
+ */
222
+ formattedProfit?: string;
223
+ /**
224
+ * Profit Margin. Calculated by dividing `profit` by `discounted_price`.
225
+ * The result is rounded to 4 decimal places.
226
+ * @readonly
227
+ */
228
+ profitMargin?: number;
229
+ }
230
+ export interface PricePerUnitData {
231
+ /** Total quantity */
232
+ totalQuantity?: number;
233
+ /** Total measurement unit */
234
+ totalMeasurementUnit?: MeasurementUnit;
235
+ /** Base quantity */
236
+ baseQuantity?: number;
237
+ /** Base measurement unit */
238
+ baseMeasurementUnit?: MeasurementUnit;
239
+ }
240
+ export declare enum MeasurementUnit {
241
+ UNSPECIFIED = "UNSPECIFIED",
242
+ ML = "ML",
243
+ CL = "CL",
244
+ L = "L",
245
+ CBM = "CBM",
246
+ MG = "MG",
247
+ G = "G",
248
+ KG = "KG",
249
+ MM = "MM",
250
+ CM = "CM",
251
+ M = "M",
252
+ SQM = "SQM",
253
+ OZ = "OZ",
254
+ LB = "LB",
255
+ FLOZ = "FLOZ",
256
+ PT = "PT",
257
+ QT = "QT",
258
+ GAL = "GAL",
259
+ IN = "IN",
260
+ FT = "FT",
261
+ YD = "YD",
262
+ SQFT = "SQFT"
263
+ }
264
+ export interface AdditionalInfoSection {
265
+ /** Product info section title */
266
+ title?: string;
267
+ /** Product info section description */
268
+ description?: string;
269
+ }
270
+ export interface Ribbon {
271
+ /** Ribbon text */
272
+ text?: string;
273
+ }
274
+ export interface Media {
275
+ /** Primary media (image, video etc) associated with this product. */
276
+ mainMedia?: MediaItem;
277
+ /** Media (images, videos etc) associated with this product. */
278
+ items?: MediaItem[];
279
+ }
280
+ export interface MediaItem extends MediaItemItemOneOf {
281
+ /** Image data (URL, size). */
282
+ image?: MediaItemUrlAndSize;
283
+ /** Video data (URL, size). */
284
+ video?: MediaItemVideo;
285
+ /** Media item thumbnail details. */
286
+ thumbnail?: MediaItemUrlAndSize;
287
+ /** Media item type (image, video, etc.). */
288
+ mediaType?: MediaItemType;
289
+ /** Media item title. */
290
+ title?: string;
291
+ /** Media ID (for example, `"nsplsh_306d666a123a4a74306459~mv2_d_4517_2992_s_4_2.jpg"`). */
292
+ _id?: string;
293
+ }
294
+ /** @oneof */
295
+ export interface MediaItemItemOneOf {
296
+ /** Image data (URL, size). */
297
+ image?: MediaItemUrlAndSize;
298
+ /** Video data (URL, size). */
299
+ video?: MediaItemVideo;
300
+ }
301
+ export interface MediaItemUrlAndSize {
302
+ /** Media item URL. */
303
+ url?: string;
304
+ /** Media item width. */
305
+ width?: number;
306
+ /** Media item height. */
307
+ height?: number;
308
+ /** Media format (mp4, png, etc.). */
309
+ format?: string | null;
310
+ /** Alt text. This text will be shown in case the image is not available. */
311
+ altText?: string | null;
312
+ }
313
+ export declare enum MediaItemType {
314
+ unspecified_media_item_type = "unspecified_media_item_type",
315
+ /** Image media type. */
316
+ image = "image",
317
+ /** Video media type. */
318
+ video = "video",
319
+ /** Audio media type. */
320
+ audio = "audio",
321
+ /** Document media type. */
322
+ document = "document",
323
+ /** Zip media type. */
324
+ zip = "zip"
325
+ }
326
+ export interface MediaItemVideo {
327
+ /** Data (URL, size) about each resolution for which this video is available. */
328
+ files?: MediaItemUrlAndSize[];
329
+ /** ID of an image taken from the video. Used primarily for Wix Search indexing. For example, `"nsplsh_306d666a123a4a74306459~mv2_d_4517_2992_s_4_2.jpg"`. */
330
+ stillFrameMediaId?: string;
331
+ }
332
+ export interface CustomTextField {
333
+ /** Text box title */
334
+ title?: string;
335
+ /** Text box input max length */
336
+ maxLength?: number;
337
+ /** Whether this text box is mandatory */
338
+ mandatory?: boolean;
339
+ }
340
+ export interface ProductOption {
341
+ /**
342
+ * Option type.
343
+ * @readonly
344
+ */
345
+ optionType?: OptionType;
346
+ /** Option name. */
347
+ name?: string;
348
+ /** Choices available for this option. */
349
+ choices?: Choice[];
350
+ }
351
+ export declare enum OptionType {
352
+ /** Unspecified option type. */
353
+ unspecified_option_type = "unspecified_option_type",
354
+ /** Drop down. */
355
+ drop_down = "drop_down",
356
+ /** Color. */
357
+ color = "color"
358
+ }
359
+ export interface Choice {
360
+ /** Choice value. */
361
+ value?: string;
362
+ /** Choice description. */
363
+ description?: string;
364
+ /**
365
+ * Media items (images, videos) associated with this choice
366
+ * @readonly
367
+ */
368
+ media?: Media;
369
+ /**
370
+ * Based on the customer’s choices, which (if any) variants that include the selected choices are in stock
371
+ * @readonly
372
+ */
373
+ inStock?: boolean;
374
+ /**
375
+ * Based on the customer’s choices, which (if any) variants that include the selected choices are visible
376
+ * @readonly
377
+ */
378
+ visible?: boolean;
379
+ }
380
+ export interface PageUrl {
381
+ /** Base URL. For premium sites, this is the domain. For free sites, this is the site URL (e.g mysite.wixsite.com/mysite). */
382
+ base?: string;
383
+ /** Path to the product page - e.g /product-page/a-product. */
384
+ path?: string;
385
+ }
386
+ export interface Discount {
387
+ /**
388
+ * Discount type:
389
+ * + `"AMOUNT"`
390
+ * + `"PERCENT"`
391
+ */
392
+ type?: DiscountType;
393
+ /** Discount value */
394
+ value?: number;
395
+ }
396
+ export declare enum DiscountType {
397
+ UNDEFINED = "UNDEFINED",
398
+ /** No discount */
399
+ NONE = "NONE",
400
+ /** Discount by a fixed amount */
401
+ AMOUNT = "AMOUNT",
402
+ /** Discount by a percentage */
403
+ PERCENT = "PERCENT"
404
+ }
405
+ export interface Variant {
406
+ /** Requested Variant ID */
407
+ _id?: string;
408
+ /** Specific choices within a selection, as option-choice key-value pairs */
409
+ choices?: Record<string, string>;
410
+ variant?: VariantDataWithNoStock;
411
+ /**
412
+ * Variant inventory status.
413
+ * @readonly
414
+ */
415
+ stock?: VariantStock;
416
+ }
417
+ export interface VariantDataWithNoStock {
418
+ /** Variant price. */
419
+ priceData?: PriceData;
420
+ /**
421
+ * Variant price data, converted to currency requested in header.
422
+ * @readonly
423
+ */
424
+ convertedPriceData?: PriceData;
425
+ /** Cost and profit data. */
426
+ costAndProfitData?: CostAndProfitData;
427
+ /** Variant weight. */
428
+ weight?: number;
429
+ /** Variant SKU (stock keeping unit). */
430
+ sku?: string;
431
+ /** Whether the variant is visible to customers. */
432
+ visible?: boolean;
433
+ }
434
+ export interface VariantStock {
435
+ /** Whether inventory is being tracked. */
436
+ trackQuantity?: boolean;
437
+ /** Quantity currently left in inventory. */
438
+ quantity?: number | null;
439
+ /** Whether the product is currently in stock (relevant only when tracking manually). */
440
+ inStock?: boolean;
441
+ }
442
+ /**
443
+ * The SEO schema object contains data about different types of meta tags. It makes sure that the information about your page is presented properly to search engines.
444
+ * The search engines use this information for ranking purposes, or to display snippets in the search results.
445
+ * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.
446
+ */
447
+ export interface SeoSchema {
448
+ /** SEO tag information. */
449
+ tags?: Tag[];
450
+ /** SEO general settings. */
451
+ settings?: Settings;
452
+ }
453
+ export interface Keyword {
454
+ /** Keyword value. */
455
+ term?: string;
456
+ /** Whether the keyword is the main focus keyword. */
457
+ isMain?: boolean;
458
+ /** The source that added the keyword terms to the SEO settings. */
459
+ origin?: string | null;
460
+ }
461
+ export interface Tag {
462
+ /**
463
+ * SEO tag type.
464
+ *
465
+ *
466
+ * Supported values: `title`, `meta`, `script`, `link`.
467
+ */
468
+ type?: string;
469
+ /**
470
+ * A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value.
471
+ * For example: `{"name": "description", "content": "the description itself"}`.
472
+ */
473
+ props?: Record<string, any> | null;
474
+ /** SEO tag meta data. For example, `{"height": 300, "width": 240}`. */
475
+ meta?: Record<string, any> | null;
476
+ /** SEO tag inner content. For example, `<title> inner content </title>`. */
477
+ children?: string;
478
+ /** Whether the tag is a custom tag. */
479
+ custom?: boolean;
480
+ /** Whether the tag is disabled. */
481
+ disabled?: boolean;
482
+ }
483
+ export interface Settings {
484
+ /**
485
+ * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.
486
+ *
487
+ *
488
+ * Default: `false` (Auto Redirect is enabled.)
489
+ */
490
+ preventAutoRedirect?: boolean;
491
+ /** User-selected keyword terms for a specific page. */
492
+ keywords?: Keyword[];
493
+ }
494
+ export interface SecuredMedia {
495
+ /** Media ID in Wix Media Manager. */
496
+ _id?: string;
497
+ /** Original filename. */
498
+ fileName?: string;
499
+ /** File type. */
500
+ fileType?: FileType;
501
+ }
502
+ export declare enum FileType {
503
+ UNSPECIFIED = "UNSPECIFIED",
504
+ SECURE_PICTURE = "SECURE_PICTURE",
505
+ SECURE_VIDEO = "SECURE_VIDEO",
506
+ SECURE_DOCUMENT = "SECURE_DOCUMENT",
507
+ SECURE_MUSIC = "SECURE_MUSIC",
508
+ SECURE_ARCHIVE = "SECURE_ARCHIVE"
509
+ }
510
+ export interface CreateProductRequest {
511
+ /** Product information. */
512
+ product?: Product;
513
+ }
514
+ export interface CreateProductResponse {
515
+ product?: Product;
516
+ }
517
+ export interface CreateProductPlatformizedRequest {
518
+ /** Product information. */
519
+ product?: Product;
520
+ }
521
+ export interface CreateProductPlatformizedResponse {
522
+ product?: Product;
523
+ }
524
+ export interface CreateDigitalProductRequest {
525
+ /** Product information. */
526
+ product?: Product;
527
+ }
528
+ export interface CreateDigitalProductResponse {
529
+ /** Created product. */
530
+ product?: Product;
531
+ }
532
+ export interface UpdateProductRequest {
533
+ product: Product;
534
+ }
535
+ export interface UpdateProductResponse {
536
+ product?: Product;
537
+ }
538
+ export interface UpdateProductPlatformizedRequest {
539
+ product?: Product;
540
+ }
541
+ export interface UpdateProductPlatformizedResponse {
542
+ product?: Product;
543
+ }
544
+ export interface DeleteProductRequest {
545
+ /** ID of the product to delete. */
546
+ _id: string;
547
+ }
548
+ export interface DeleteProductResponse {
549
+ }
550
+ export interface DeleteProductPlatformizedRequest {
551
+ /** ID of the product to delete. */
552
+ _id?: string;
553
+ }
554
+ export interface DeleteProductPlatformizedResponse {
555
+ }
556
+ export interface BulkDeleteProductsRequest {
557
+ /** IDs of the products to be deleted. */
558
+ ids?: string[];
559
+ }
560
+ export interface BulkDeleteProductsResponse {
561
+ }
562
+ export interface UpdateVariantsRequest {
563
+ /** ID of the product with managed variants. */
564
+ _id: string;
565
+ /** Variant info to update. */
566
+ variants?: VariantOverride[];
567
+ }
568
+ export interface VariantOverride {
569
+ /** The specific choices available or chosen from within a selection (e.g., choosing the red Selection triggers the red Choice). You may specify all the relevant choices for a specific variant, or only some of the options, which will return all corresponding variants (Not relevant when passing variant IDs) */
570
+ choices?: Record<string, string>;
571
+ /**
572
+ * List of variant IDs
573
+ * (Not relevant when passing choices)
574
+ */
575
+ variantIds?: string[];
576
+ /** Variant price */
577
+ price?: number | null;
578
+ /** Variant cost of goods */
579
+ cost?: number | null;
580
+ /** Variant weight */
581
+ weight?: number | null;
582
+ /** Variant SKU (stock keeping unit) */
583
+ sku?: string | null;
584
+ /** Whether the variant is visible to customers */
585
+ visible?: boolean | null;
586
+ }
587
+ export interface UpdateVariantsResponse {
588
+ /** List of the product's variants. */
589
+ variants?: Variant[];
590
+ }
591
+ export interface ResetAllVariantDataRequest {
592
+ /** Product ID. */
593
+ _id: string;
594
+ }
595
+ export interface ResetAllVariantDataResponse {
596
+ }
597
+ export interface AddProductsToCollectionRequest {
598
+ /** Collection ID. */
599
+ _id: string;
600
+ /** IDs of the products to add to the collection, separated by commas. */
601
+ productIds?: string[];
602
+ }
603
+ export interface AddProductsToCollectionResponse {
604
+ }
605
+ export interface RemoveProductsFromCollectionRequest {
606
+ /** ID of the collection from which to remove products. */
607
+ _id: string;
608
+ /** IDs of the products to remove from the collection. */
609
+ productIds: string[];
610
+ }
611
+ export interface RemoveProductsFromCollectionResponse {
612
+ }
613
+ export interface AddProductMediaRequest {
614
+ /** Product ID. */
615
+ _id: string;
616
+ /** Sources of media items already uploaded to the Wix site. */
617
+ media?: MediaDataForWrite[];
618
+ }
619
+ export interface MediaDataForWrite extends MediaDataForWriteMediaSourceOneOf {
620
+ /** Media ID. */
621
+ mediaId?: string;
622
+ /** Media external URL (for new media items). */
623
+ url?: string;
624
+ /** Assign this media item to a specific product choice. Note that you may set media items for choices under only one option (e.g., if Colors blue, green, and red have media items, Sizes S, M, and L can't have media items assigned to them). You may clear existing media from choices with the [Remove Product Media From Choices](#removeproductmediafromchoices). */
625
+ choice?: OptionAndChoice;
626
+ }
627
+ /** @oneof */
628
+ export interface MediaDataForWriteMediaSourceOneOf {
629
+ /** Media ID. */
630
+ mediaId?: string;
631
+ /** Media external URL (for new media items). */
632
+ url?: string;
633
+ }
634
+ export interface OptionAndChoice {
635
+ /** Option to add the media to. */
636
+ option?: string;
637
+ /** Choice to add the media to. */
638
+ choice?: string;
639
+ }
640
+ export interface AddProductMediaResponse {
641
+ }
642
+ export interface RemoveProductMediaRequest {
643
+ /** Product ID. */
644
+ _id: string;
645
+ /** List of media IDs to remove. Pass an empty array to delete all media items for the product. */
646
+ mediaIds?: string[];
647
+ }
648
+ export interface RemoveProductMediaResponse {
649
+ }
650
+ export interface AddProductMediaToChoicesRequest {
651
+ /** Product ID. */
652
+ _id: string;
653
+ /** Product media items and the choices to add the media to. */
654
+ media?: MediaAssignmentToChoice[];
655
+ }
656
+ export interface MediaAssignmentToChoice {
657
+ /** Option name. */
658
+ option?: string;
659
+ /** Choice name. */
660
+ choice?: string;
661
+ /** Media IDs (available via the Query Product endpoint). */
662
+ mediaIds?: string[];
663
+ }
664
+ export interface AddProductMediaToChoicesResponse {
665
+ }
666
+ export interface RemoveProductMediaFromChoicesRequest {
667
+ /** Product ID from whose choices to remove media items. */
668
+ _id: string;
669
+ /** Media to remove from choices. If an empty array is passed, all media will be removed from all choices for the given product. */
670
+ media?: MediaAssignmentToChoice[];
671
+ }
672
+ export interface RemoveProductMediaFromChoicesResponse {
673
+ }
674
+ export interface DeleteProductOptionsRequest {
675
+ /** ID of the product with options to delete. */
676
+ _id: string;
677
+ }
678
+ export interface DeleteProductOptionsResponse {
679
+ }
680
+ export interface SetCustomFieldsRequest {
681
+ /** Product ID. */
682
+ _id?: string;
683
+ /** Custom field that will be added, if a custom field with the same name already exists, the value of the custom field will be overridden. */
684
+ customFields?: Record<string, any>;
685
+ }
686
+ export interface SetCustomFieldsResponse {
687
+ }
688
+ export interface RemoveCustomFieldsRequest {
689
+ /** Product ID. */
690
+ _id?: string;
691
+ /** Custom fields to be removed (by name). */
692
+ names?: string[];
693
+ }
694
+ export interface RemoveCustomFieldsResponse {
695
+ }
696
+ export interface RemoveProductBrandRequest {
697
+ /** Product ID. */
698
+ _id: string;
699
+ }
700
+ export interface RemoveProductBrandResponse {
701
+ }
702
+ export interface BulkSetCustomFieldsRequest {
703
+ /** Filter string. */
704
+ filter?: string | null;
705
+ /** Custom field that will be added, if a custom field with same name already exists, the value of the custom field will be overridden. */
706
+ customFields?: Record<string, any>;
707
+ }
708
+ export interface BulkSetCustomFieldsResponse {
709
+ }
710
+ export interface BulkRemoveCustomFieldsRequest {
711
+ /** Filter string. */
712
+ filter?: string | null;
713
+ /** Custom fields names. */
714
+ names?: string[];
715
+ }
716
+ export interface BulkRemoveCustomFieldsResponse {
717
+ }
718
+ export interface CreateCollectionRequest {
719
+ /** Collection info. */
720
+ collection: Collection;
721
+ }
722
+ export interface Collection {
723
+ /**
724
+ * Collection ID (generated automatically by the catalog).
725
+ * @readonly
726
+ */
727
+ _id?: string | null;
728
+ /** Collection name. */
729
+ name?: string | null;
730
+ /**
731
+ * Media items (images, videos etc) associated with this collection. Read only.
732
+ * @readonly
733
+ */
734
+ media?: Media;
735
+ /**
736
+ * Number of products in the collection. Read only.
737
+ * @readonly
738
+ */
739
+ numberOfProducts?: number;
740
+ /** Collection description. */
741
+ description?: string | null;
742
+ /** Collection slug. */
743
+ slug?: string | null;
744
+ /** Collection visibility. Only impacts dynamic pages, no impact on static pages. Default: `true`. */
745
+ visible?: boolean | null;
746
+ }
747
+ export interface CreateCollectionResponse {
748
+ /** Collection. */
749
+ collection?: Collection;
750
+ }
751
+ export interface UpdateCollectionRequest {
752
+ /** Collection info. */
753
+ collection: Collection;
754
+ }
755
+ export interface UpdateCollectionResponse {
756
+ /** Updated collection. */
757
+ collection?: Collection;
758
+ }
759
+ export interface DeleteCollectionRequest {
760
+ /** ID of the collection to delete. */
761
+ _id: string;
762
+ }
763
+ export interface DeleteCollectionResponse {
764
+ }
765
+ export interface RemoveProductRibbonRequest {
766
+ /** Product ID. */
767
+ _id: string;
768
+ }
769
+ export interface RemoveProductRibbonResponse {
770
+ }
771
+ export interface BulkUpdateProductsRequest {
772
+ /** Product IDs. */
773
+ ids: string[];
774
+ /** Field to update. */
775
+ set?: SetValue;
776
+ }
777
+ export interface SetValue extends SetValueValueOneOf {
778
+ /**
779
+ * Set product price.
780
+ * If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled,
781
+ * variant prices will be calculated according to the set product price.
782
+ * If variant price is negative after setting new price, the update will fail.
783
+ */
784
+ price?: number;
785
+ /**
786
+ * Set product cost of goods.
787
+ * If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled,
788
+ * cost of goods will be set per variant.
789
+ */
790
+ cost?: number;
791
+ /**
792
+ * Set product weight.
793
+ * If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled,
794
+ * weight will be set per variant.
795
+ */
796
+ weight?: number;
797
+ /** Set product ribbon. Pass empty string to remove existing ribbon. */
798
+ ribbon?: string;
799
+ /** Set product brand. Pass empty string to remove existing brand. */
800
+ brand?: string;
801
+ }
802
+ /** @oneof */
803
+ export interface SetValueValueOneOf {
804
+ /**
805
+ * Set product price.
806
+ * If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled,
807
+ * variant prices will be calculated according to the set product price.
808
+ * If variant price is negative after setting new price, the update will fail.
809
+ */
810
+ price?: number;
811
+ /**
812
+ * Set product cost of goods.
813
+ * If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled,
814
+ * cost of goods will be set per variant.
815
+ */
816
+ cost?: number;
817
+ /**
818
+ * Set product weight.
819
+ * If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled,
820
+ * weight will be set per variant.
821
+ */
822
+ weight?: number;
823
+ /** Set product ribbon. Pass empty string to remove existing ribbon. */
824
+ ribbon?: string;
825
+ /** Set product brand. Pass empty string to remove existing brand. */
826
+ brand?: string;
827
+ }
828
+ export interface BulkUpdateProductsResponse {
829
+ /** Bulk action results. */
830
+ results?: BulkProductResult[];
831
+ /** Bulk action metadata. */
832
+ bulkActionMetadata?: BulkActionMetadata;
833
+ }
834
+ export interface BulkProductResult {
835
+ /** Item metadata. */
836
+ itemMetadata?: ItemMetadata;
837
+ }
838
+ export interface ItemMetadata {
839
+ /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */
840
+ _id?: string | null;
841
+ /** Index of the item within the request array. Allows for correlation between request and response items. */
842
+ originalIndex?: number;
843
+ /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */
844
+ success?: boolean;
845
+ /** Details about the error in case of failure. */
846
+ error?: ApplicationError;
847
+ }
848
+ export interface ApplicationError {
849
+ /** Error code. */
850
+ code?: string;
851
+ /** Description of the error. */
852
+ description?: string;
853
+ /** Data related to the error. */
854
+ data?: Record<string, any> | null;
855
+ }
856
+ export interface BulkActionMetadata {
857
+ /** Number of items that were successfully processed. */
858
+ totalSuccesses?: number;
859
+ /** Number of items that couldn't be processed. */
860
+ totalFailures?: number;
861
+ /** Number of failures without details because detailed failure threshold was exceeded. */
862
+ undetailedFailures?: number;
863
+ }
864
+ export interface BulkUpdateProductsByFilterSyncRequest {
865
+ /** Filter object. Learn more about supported filters [here](https://bo.wix.com/wix-docs/rest/stores/stores-catalog/filter-and-sort). */
866
+ filter?: Record<string, any> | null;
867
+ /** The field to update. */
868
+ set?: SetValue;
869
+ }
870
+ export interface BulkUpdateProductsByFilterSyncResponse {
871
+ /** Items updated by bulk action. */
872
+ results?: BulkProductResult[];
873
+ /** Bulk action metadata. */
874
+ bulkActionMetadata?: BulkActionMetadata;
875
+ }
876
+ export interface AllowedProductsCountLimitExceededErrorData {
877
+ /** Total number of products */
878
+ totalCount?: number;
879
+ }
880
+ export interface BulkAdjustProductPropertiesRequest {
881
+ /** Product IDs. */
882
+ ids: string[];
883
+ /** Numerical property to adjust. */
884
+ adjust?: AdjustValue;
885
+ }
886
+ export interface AdjustValue extends AdjustValueValueOneOf {
887
+ /**
888
+ * Adjust product price.
889
+ * If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled,
890
+ * variants prices will be calculated according to the adjusted price.
891
+ * If variant price is negative after the adjustment, the update will fail.
892
+ */
893
+ price?: PropertyAdjustmentData;
894
+ /**
895
+ * Adjust product cost of goods.
896
+ * If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled,
897
+ * cost of goods will be adjusted per variant.
898
+ */
899
+ cost?: PropertyAdjustmentData;
900
+ /**
901
+ * Adjust product weight.
902
+ * If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled,
903
+ * weight will be adjusted per variant.
904
+ */
905
+ weight?: PropertyAdjustmentData;
906
+ }
907
+ /** @oneof */
908
+ export interface AdjustValueValueOneOf {
909
+ /**
910
+ * Adjust product price.
911
+ * If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled,
912
+ * variants prices will be calculated according to the adjusted price.
913
+ * If variant price is negative after the adjustment, the update will fail.
914
+ */
915
+ price?: PropertyAdjustmentData;
916
+ /**
917
+ * Adjust product cost of goods.
918
+ * If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled,
919
+ * cost of goods will be adjusted per variant.
920
+ */
921
+ cost?: PropertyAdjustmentData;
922
+ /**
923
+ * Adjust product weight.
924
+ * If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled,
925
+ * weight will be adjusted per variant.
926
+ */
927
+ weight?: PropertyAdjustmentData;
928
+ }
929
+ export interface PropertyAdjustmentData extends PropertyAdjustmentDataByOneOf {
930
+ /** Adjust by percentage. */
931
+ percentage?: PercentageData;
932
+ /** Adjust by amount. */
933
+ amount?: number;
934
+ }
935
+ /** @oneof */
936
+ export interface PropertyAdjustmentDataByOneOf {
937
+ /** Adjust by percentage. */
938
+ percentage?: PercentageData;
939
+ /** Adjust by amount. */
940
+ amount?: number;
941
+ }
942
+ export interface PercentageData {
943
+ /**
944
+ * If `true`, result will be rounded to the nearest whole number.
945
+ * If `false`, result will be rounded to 2 places after the decimal point.
946
+ */
947
+ roundToInt?: boolean;
948
+ /**
949
+ * Percentage value, as a whole number (integer) between `-100` and `1000`.
950
+ *
951
+ * For example:
952
+ * + Pass `100` to increase value by 100% (multiply original value by 2).
953
+ * + Pass `1000` to increase value by 1000% (multiply original value by 10).
954
+ * + Pass `-50` to decrease value by 50% (original value is halved).
955
+ */
956
+ rate?: number;
957
+ }
958
+ export interface BulkAdjustProductPropertiesResponse {
959
+ /** Bulk action results. */
960
+ results?: BulkProductResult[];
961
+ /** Bulk action metadata. */
962
+ bulkActionMetadata?: BulkActionMetadata;
963
+ }
964
+ export interface BulkAdjustProductPropertiesByFilterSyncRequest {
965
+ /** Filter object. Learn more about supported filters [here](https://bo.wix.com/wix-docs/rest/stores/stores-catalog/filter-and-sort). */
966
+ filter?: Record<string, any> | null;
967
+ /** Numerical property to adjust. */
968
+ adjust?: AdjustValue;
969
+ }
970
+ export interface BulkAdjustProductPropertiesByFilterSyncResponse {
971
+ /** Items updated by bulk action. */
972
+ results?: BulkProductResult[];
973
+ /** Bulk action metadata. */
974
+ bulkActionMetadata?: BulkActionMetadata;
975
+ }
976
+ export interface ReCloneStoreRequest {
977
+ /** Description of value */
978
+ metasiteId?: string | null;
979
+ originalMetasiteId?: string | null;
980
+ }
981
+ export interface ReCloneStoreResponse {
982
+ }
983
+ export interface V1CreateProductPlatformizedRequest {
984
+ /** Product information. */
985
+ product?: Product;
986
+ }
987
+ export interface V1CreateProductPlatformizedResponse {
988
+ product?: Product;
989
+ }
990
+ export interface V1UpdateProductPlatformizedRequest {
991
+ product?: Product;
992
+ }
993
+ export interface V1UpdateProductPlatformizedResponse {
994
+ product?: Product;
995
+ }
996
+ export interface V1DeleteProductPlatformizedRequest {
997
+ /** ID of the product to delete. */
998
+ _id?: string;
999
+ }
1000
+ export interface V1DeleteProductPlatformizedResponse {
1001
+ }
1002
+ export interface ProductCreated {
1003
+ /** Product ID (generated automatically by the catalog). */
1004
+ productId?: string;
1005
+ /** Product name. */
1006
+ name?: string;
1007
+ /** Product price. */
1008
+ price?: PriceData;
1009
+ /** Whether the product is visible to customers. */
1010
+ visible?: boolean;
1011
+ /** Media items (images, videos, etc.) associated with this product. */
1012
+ media?: Media;
1013
+ /** Product stock keeping unit (SKU). If variants are being managed, this will be empty. */
1014
+ sku?: string;
1015
+ /** Product page URL for this product (generated automatically by the server). */
1016
+ productPageUrl?: PageUrl;
1017
+ /** Product brand. */
1018
+ brand?: string | null;
1019
+ /** Cost and profit data */
1020
+ costAndProfitData?: CostAndProfitData;
1021
+ /** Information about the version of the catalog from where this event was triggered. */
1022
+ originatedFromVersion?: Version;
1023
+ /** Event slug. A human readable identifier of the event. */
1024
+ slug?: string;
1025
+ }
1026
+ export declare enum Version {
1027
+ /** Version 1 of the catalog. */
1028
+ V1_CATALOG = "V1_CATALOG",
1029
+ /** Version 3 of the catalog. */
1030
+ V3_CATALOG = "V3_CATALOG"
1031
+ }
1032
+ export interface ProductChanged {
1033
+ /** Product ID. */
1034
+ productId?: string;
1035
+ /** List of product fields that were changed. */
1036
+ changedFields?: string[];
1037
+ /** Information about the version of the catalog from where this event was triggered. */
1038
+ originatedFromVersion?: Version;
1039
+ }
1040
+ export interface ProductDeleted {
1041
+ /** ID of the product that was deleted. */
1042
+ productId?: string;
1043
+ /** Information about the version of the catalog from where this event was triggered. */
1044
+ originatedFromVersion?: Version;
1045
+ }
1046
+ export interface CollectionCreated {
1047
+ /** Collection ID (generated automatically by the catalog). */
1048
+ collection_Id?: string;
1049
+ /** Collection name. */
1050
+ name?: string;
1051
+ /** Media items (images, videos, etc.) associated with this collection. */
1052
+ media?: Media;
1053
+ /** Collection slug */
1054
+ slug?: string;
1055
+ /** Collection visible status */
1056
+ visible?: boolean;
1057
+ /** Information about the version of the catalog from where this event was triggered. */
1058
+ originatedFromVersion?: Version;
1059
+ }
1060
+ export interface CollectionChanged {
1061
+ /** Collection ID (generated automatically by the catalog). */
1062
+ collection_Id?: string;
1063
+ /** List of collection fields that were changed. */
1064
+ changedFields?: string[];
1065
+ /** Information about the version of the catalog from where this event was triggered. */
1066
+ originatedFromVersion?: Version;
1067
+ }
1068
+ export interface CollectionDeleted {
1069
+ /** ID of the collection that was deleted. */
1070
+ collection_Id?: string;
1071
+ /** Information about the version of the catalog from where this event was triggered. */
1072
+ originatedFromVersion?: Version;
1073
+ }
1074
+ export interface VariantsChanged {
1075
+ /** Product ID. */
1076
+ productId?: string;
1077
+ /** List of variants that were changed. */
1078
+ variants?: VariantChanged[];
1079
+ /** Information about the version of the catalog from where this event was triggered. */
1080
+ originatedFromVersion?: Version;
1081
+ }
1082
+ export interface VariantChanged {
1083
+ /** Variant ID. */
1084
+ variantId?: string;
1085
+ choices?: Record<string, string>;
1086
+ /** List of variant fields that were changed. */
1087
+ changedFields?: string[];
1088
+ /** Information about the version of the catalog from where this event was triggered. */
1089
+ originatedFromVersion?: Version;
1090
+ }
1091
+ export interface QueryProductsRequest {
1092
+ query?: Query;
1093
+ /** Whether variants should be included in the response. */
1094
+ includeVariants?: boolean;
1095
+ /** Whether hidden products should be included in the response. Requires permissions to manage products. */
1096
+ includeHiddenProducts?: boolean;
1097
+ /** Whether merchant specific data should be included in the response. Requires permissions to manage products. */
1098
+ includeMerchantSpecificData?: boolean;
1099
+ }
1100
+ export interface Query {
1101
+ paging?: Paging;
1102
+ /** Filter string */
1103
+ filter?: string | null;
1104
+ /** Sort string */
1105
+ sort?: string | null;
1106
+ }
1107
+ export interface Paging {
1108
+ /** Amount of items to load per page */
1109
+ limit?: number | null;
1110
+ /** Number of items to skip in the display (relevant for all pages after the first) */
1111
+ offset?: number | null;
1112
+ }
1113
+ export interface QueryProductsResponse {
1114
+ products?: Product[];
1115
+ metadata?: PagingMetadata;
1116
+ totalResults?: number;
1117
+ }
1118
+ export interface PagingMetadata {
1119
+ /** Amount of items to load per page */
1120
+ items?: number;
1121
+ /** Number of items to skip in the display (relevant for all pages after the first) */
1122
+ offset?: number;
1123
+ }
1124
+ export interface QueryProductsPlatformizedRequest {
1125
+ query?: PlatformQuery;
1126
+ }
1127
+ export interface PlatformQuery extends PlatformQueryPagingMethodOneOf {
1128
+ /** Pointer to page of results using offset. Cannot be used together with `cursorPaging`. */
1129
+ paging?: PlatformPaging;
1130
+ /** Cursor pointing to page of results. Cannot be used together with `paging`. `cursorPaging.cursor` can not be used together with `filter` or `sort`. */
1131
+ cursorPaging?: CursorPaging;
1132
+ /** Filter object. */
1133
+ filter?: Record<string, any> | null;
1134
+ /** Sorting options. For example, `[{"fieldName":"sortField1"},{"fieldName":"sortField2","direction":"DESC"}]`. */
1135
+ sort?: Sorting[];
1136
+ }
1137
+ /** @oneof */
1138
+ export interface PlatformQueryPagingMethodOneOf {
1139
+ /** Pointer to page of results using offset. Cannot be used together with `cursorPaging`. */
1140
+ paging?: PlatformPaging;
1141
+ /** Cursor pointing to page of results. Cannot be used together with `paging`. `cursorPaging.cursor` can not be used together with `filter` or `sort`. */
1142
+ cursorPaging?: CursorPaging;
1143
+ }
1144
+ export interface Sorting {
1145
+ /** Name of the field to sort by. */
1146
+ fieldName?: string;
1147
+ /** Sort order. */
1148
+ order?: SortOrder;
1149
+ }
1150
+ export declare enum SortOrder {
1151
+ ASC = "ASC",
1152
+ DESC = "DESC"
1153
+ }
1154
+ export interface PlatformPaging {
1155
+ /** Number of items to load. */
1156
+ limit?: number | null;
1157
+ /** Number of items to skip in the current sort order. */
1158
+ offset?: number | null;
1159
+ }
1160
+ export interface CursorPaging {
1161
+ /** Maximum number of items to return in the results. */
1162
+ limit?: number | null;
1163
+ /**
1164
+ * Pointer to the next or previous page in the list of results.
1165
+ *
1166
+ * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.
1167
+ * Not relevant for the first request.
1168
+ */
1169
+ cursor?: string | null;
1170
+ }
1171
+ export interface QueryProductsPlatformizedResponse {
1172
+ products?: Product[];
1173
+ metadata?: PlatformPagingMetadata;
1174
+ }
1175
+ export interface PlatformPagingMetadata {
1176
+ /** The number of items returned in this response. */
1177
+ count?: number | null;
1178
+ /** The offset which was requested. Returned if offset paging was used. */
1179
+ offset?: number | null;
1180
+ /** The total number of items that match the query. Returned if offset paging was used. */
1181
+ total?: number | null;
1182
+ /** Cursors to navigate through result pages. Returned if cursor paging was used. */
1183
+ cursors?: Cursors;
1184
+ }
1185
+ export interface Cursors {
1186
+ /** Cursor string pointing to the next page in the list of results. */
1187
+ next?: string | null;
1188
+ /** Cursor pointing to the previous page in the list of results. */
1189
+ prev?: string | null;
1190
+ }
1191
+ export interface QueryProductsWithBigPageLimitRequest {
1192
+ query?: QueryWithBigPageLimit;
1193
+ /** Whether variants should be included in the response. */
1194
+ includeVariants?: boolean;
1195
+ /** Whether hidden products should be included in the response. Requires permissions to manage products. */
1196
+ includeHiddenProducts?: boolean;
1197
+ /** Whether merchant specific data should be included in the response. Requires permissions to manage products. */
1198
+ includeMerchantSpecificData?: boolean;
1199
+ }
1200
+ export interface QueryWithBigPageLimit {
1201
+ paging?: PagingWithBigLimit;
1202
+ /** Filter string */
1203
+ filter?: string | null;
1204
+ /** Sort string */
1205
+ sort?: string | null;
1206
+ }
1207
+ export interface PagingWithBigLimit {
1208
+ /** Amount of items to load per page */
1209
+ limit?: number | null;
1210
+ /** Number of items to skip in the display (relevant for all pages after the first) */
1211
+ offset?: number | null;
1212
+ }
1213
+ export interface GetProductsRequest {
1214
+ /** Requested product IDs. */
1215
+ ids?: string[];
1216
+ }
1217
+ export interface GetProductsResponse {
1218
+ products?: Product[];
1219
+ }
1220
+ export interface GetProductRequest {
1221
+ /** Requested product ID. */
1222
+ _id: string;
1223
+ /** Whether merchant specific data, such as cost and profit data, should be included in the response. Requires permissions to manage products. */
1224
+ includeMerchantSpecificData?: boolean;
1225
+ }
1226
+ export interface GetProductResponse {
1227
+ /** Requested product data. */
1228
+ product?: Product;
1229
+ }
1230
+ export interface GetProductPlatformizedRequest {
1231
+ /** Requested product ID. */
1232
+ _id?: string;
1233
+ /** Whether merchant specific data, such as cost and profit data, should be included in the response. Requires permissions to manage products. */
1234
+ includeMerchantSpecificData?: boolean;
1235
+ }
1236
+ export interface GetProductPlatformizedResponse {
1237
+ /** Requested product data. */
1238
+ product?: Product;
1239
+ }
1240
+ export interface QueryCollectionsRequest {
1241
+ /** Query options. */
1242
+ query?: Query;
1243
+ /** Whether number of products should be included in the response. */
1244
+ includeNumberOfProducts?: boolean;
1245
+ /** Wether to include collection description in the response. When `false` is passed, `collection.description` will return null. */
1246
+ includeDescription?: boolean;
1247
+ }
1248
+ export interface QueryCollectionsResponse {
1249
+ /** List of collections. */
1250
+ collections?: Collection[];
1251
+ /** Details on the paged set of results returned. */
1252
+ metadata?: PagingMetadata;
1253
+ /** Total number of results returned. */
1254
+ totalResults?: number;
1255
+ }
1256
+ export interface QueryCollectionsPlatformizedRequest {
1257
+ query?: PlatformQuery;
1258
+ }
1259
+ export interface QueryCollectionsPlatformizedResponse {
1260
+ collections?: Collection[];
1261
+ metadata?: PlatformPagingMetadata;
1262
+ }
1263
+ export interface GetCollectionRequest {
1264
+ /** Requested collection ID. */
1265
+ _id?: string;
1266
+ /**
1267
+ * Whether to return the `collection.numberOfProducts` field in the response.
1268
+ * Defaults to `false`, in which case the value of `collection.numberOfProducts` will be `0`.
1269
+ */
1270
+ includeNumberOfProducts?: boolean;
1271
+ }
1272
+ export interface GetCollectionResponse {
1273
+ /** The requested collection. */
1274
+ collection?: Collection;
1275
+ }
1276
+ export interface GetCollectionBySlugRequest {
1277
+ /** Slug of the collection to retrieve. */
1278
+ slug: string;
1279
+ }
1280
+ export interface GetCollectionBySlugResponse {
1281
+ /** The requested collection. */
1282
+ collection?: Collection;
1283
+ }
1284
+ export interface ProductOptionsAvailabilityRequest {
1285
+ /** Requested product ID. */
1286
+ _id: string;
1287
+ /** Array containing the selected options. For example, `["color": "Blue", "size": "Large"]`. */
1288
+ options?: Record<string, string>;
1289
+ }
1290
+ export interface ProductOptionsAvailabilityResponse {
1291
+ /** Variant information, given that all the choices were provided. */
1292
+ selectedVariant?: VariantData;
1293
+ /** Information about media items (images, videos, etc.) associated with this choice. */
1294
+ media?: Media;
1295
+ /** Options information (color, size, etc.) for this product, with the inventory and visibility fields updated based on the provided choices. */
1296
+ productOptions?: ProductOption[];
1297
+ /** Whether all the selected choices result in a visible, in-stock variant. */
1298
+ availableForPurchase?: boolean;
1299
+ }
1300
+ export interface VariantData {
1301
+ /** Variant price. */
1302
+ price?: PriceData;
1303
+ /**
1304
+ * Variant price data converted to currency provided in header.
1305
+ * @readonly
1306
+ */
1307
+ convertedPriceData?: PriceData;
1308
+ /** Variant weight. */
1309
+ weight?: number | null;
1310
+ /** Variant SKU (stock keeping unit). */
1311
+ sku?: string;
1312
+ /** Quantity currently in inventory (relevant only when tracking by inventory). */
1313
+ quantity?: number | null;
1314
+ /** Whether the product is currently in stock (relevant only when tracking manually). */
1315
+ inStock?: boolean;
1316
+ /** Whether the variant is visible to customers. */
1317
+ visible?: boolean;
1318
+ }
1319
+ export interface QueryProductVariantsRequest {
1320
+ /** Requested product ID. */
1321
+ _id: string;
1322
+ /**
1323
+ * The specific choices available or chosen from within a selection (e.g., choosing the red Selection triggers the red Choice).
1324
+ * You may specify all the relevant choices for a specific variant, or only some of the options, which will return all corresponding variants (not relevant when passing variant IDs).
1325
+ */
1326
+ choices?: Record<string, string>;
1327
+ /** List of variant IDs (not relevant when passing choices). */
1328
+ variantIds?: string[];
1329
+ paging?: Paging;
1330
+ /** Whether merchant specific data should be included in the response. Requires permissions to manage products. */
1331
+ includeMerchantSpecificData?: boolean;
1332
+ }
1333
+ export interface QueryProductVariantsResponse {
1334
+ /** List of variants based on the specified filters and sorting. */
1335
+ variants?: Variant[];
1336
+ metadata?: PagingMetadata;
1337
+ totalResults?: number;
1338
+ }
1339
+ export interface QueryStoreVariantsRequest {
1340
+ /** Query options. */
1341
+ query?: PlatformQuery;
1342
+ }
1343
+ export interface QueryStoreVariantsResponse {
1344
+ /** List of variants based on the specified filters and sorting. */
1345
+ variants?: StoreVariant[];
1346
+ /** Details on the paged set of results returned. */
1347
+ metadata?: PlatformPagingMetadata;
1348
+ }
1349
+ export interface StoreVariant {
1350
+ /** Store variant ID. Comprised of the `productId` and the `variantId`, separated by a hyphen: {productId}.{variantId}. */
1351
+ _id?: string;
1352
+ /** Variant ID. */
1353
+ variantId?: string;
1354
+ /** Product ID. */
1355
+ productId?: string;
1356
+ /** Variant name. */
1357
+ variantName?: string;
1358
+ /** Product name. */
1359
+ productName?: string;
1360
+ /** Whether the variant is managed or represents a product. */
1361
+ managedVariant?: boolean;
1362
+ /** Variant SKU (stock keeping unit). */
1363
+ sku?: string;
1364
+ /** Variant inventory status. */
1365
+ stock?: VariantStock;
1366
+ /** The selected options of this variant. For example, `{"Color": "Blue", "Size": "Large"}`. */
1367
+ choices?: Record<string, string>;
1368
+ /** Collections that include this variant. */
1369
+ collectionIds?: string[];
1370
+ /**
1371
+ * Media items (images, videos) associated with this variant.
1372
+ * @readonly
1373
+ */
1374
+ media?: PlatformMedia;
1375
+ /** Preorder information. */
1376
+ preorderInfo?: PreorderInfo;
1377
+ }
1378
+ export interface PlatformMedia extends PlatformMediaMediaOneOf {
1379
+ image?: string;
1380
+ video?: string;
1381
+ }
1382
+ /** @oneof */
1383
+ export interface PlatformMediaMediaOneOf {
1384
+ image?: string;
1385
+ video?: string;
1386
+ }
1387
+ export interface FocalPoint {
1388
+ /** X-coordinate of the focal point. */
1389
+ x?: number;
1390
+ /** Y-coordinate of the focal point. */
1391
+ y?: number;
1392
+ /** crop by height */
1393
+ height?: number | null;
1394
+ /** crop by width */
1395
+ width?: number | null;
1396
+ }
1397
+ export interface VideoResolution {
1398
+ /** Video URL. */
1399
+ url?: string;
1400
+ /** Video height. */
1401
+ height?: number;
1402
+ /** Video width. */
1403
+ width?: number;
1404
+ /** Video format for example, mp4, hls. */
1405
+ format?: string;
1406
+ }
1407
+ export interface PreorderInfo {
1408
+ /** Whether the item is available for preorder. */
1409
+ enabled?: boolean;
1410
+ /** A message the buyer will see when the item is out of stock and preorder is enabled. */
1411
+ message?: string | null;
1412
+ /** Number of products that can be preordered after stock reaches zero. */
1413
+ limit?: number | null;
1414
+ }
1415
+ export interface QueryStoreVariantsWithBigLimitRequest {
1416
+ /** Query options. */
1417
+ query?: UnlimitedPlatformQuery;
1418
+ }
1419
+ /**
1420
+ * Don't use it unless you have to and know what you do. Prefer PlatformQuery other than this.
1421
+ * It doesn't have max validation for limit but we still MUST have it so implement required validation in your code.
1422
+ */
1423
+ export interface UnlimitedPlatformQuery extends UnlimitedPlatformQueryPagingMethodOneOf {
1424
+ /** Pointer to page of results using offset. Cannot be used together with `cursorPaging`. */
1425
+ paging?: UnlimitedPlatformPaging;
1426
+ /** Cursor pointing to page of results. Cannot be used together with `paging`. `cursorPaging.cursor` can not be used together with `filter` or `sort`. */
1427
+ cursorPaging?: UnlimitedPlatformCursorPaging;
1428
+ /** Filter object. */
1429
+ filter?: Record<string, any> | null;
1430
+ /** Sorting options. For example, `[{"fieldName":"sortField1"},{"fieldName":"sortField2","direction":"DESC"}]`. */
1431
+ sort?: Sorting[];
1432
+ }
1433
+ /** @oneof */
1434
+ export interface UnlimitedPlatformQueryPagingMethodOneOf {
1435
+ /** Pointer to page of results using offset. Cannot be used together with `cursorPaging`. */
1436
+ paging?: UnlimitedPlatformPaging;
1437
+ /** Cursor pointing to page of results. Cannot be used together with `paging`. `cursorPaging.cursor` can not be used together with `filter` or `sort`. */
1438
+ cursorPaging?: UnlimitedPlatformCursorPaging;
1439
+ }
1440
+ /**
1441
+ * Don't use it unless you have to and know what you do. Prefer PlatformPaging or wix.common.Paging other than this.
1442
+ * It doesn't have max validation for limit but we still MUST have it so implement required validation in your code.
1443
+ */
1444
+ export interface UnlimitedPlatformPaging {
1445
+ /** Number of items to load. */
1446
+ limit?: number | null;
1447
+ /** Number of items to skip in the current sort order. */
1448
+ offset?: number | null;
1449
+ }
1450
+ /**
1451
+ * Don't use it unless you have to and know what you do. Prefer PlatformCursorPaging or wix.common.CursorPaging other than this.
1452
+ * It doesn't have max validation for limit but we still MUST have it so implement required validation in your code.
1453
+ */
1454
+ export interface UnlimitedPlatformCursorPaging {
1455
+ /**
1456
+ * The number of items to load.
1457
+ * Cursor token returned in the query response. To be used on the next query request, but not the first query request.
1458
+ */
1459
+ limit?: number | null;
1460
+ /** Cursor returned in last query response. Should not be provided on first page request */
1461
+ cursor?: string | null;
1462
+ }
1463
+ export interface GetStoreVariantRequest {
1464
+ /** Store variant ID. Comprised of the `productId` and the `variantId`, separated by a hyphen. For example, `{productId}-{variantId}`. */
1465
+ _id: string;
1466
+ }
1467
+ export interface GetStoreVariantResponse {
1468
+ /** The requested store variant. */
1469
+ variant?: StoreVariant;
1470
+ }
1471
+ export interface QueryCustomFieldsRequest {
1472
+ /** Requested product ID. */
1473
+ _id?: string;
1474
+ /** Requested field names. */
1475
+ names?: string[];
1476
+ }
1477
+ export interface QueryCustomFieldsResponse {
1478
+ customFields?: Record<string, any>;
1479
+ }
1480
+ export interface BulkQueryCustomFieldsRequest {
1481
+ /** Filter string. */
1482
+ query?: Query;
1483
+ /** Requested field names. */
1484
+ names?: string[];
1485
+ }
1486
+ export interface BulkQueryCustomFieldsResponse {
1487
+ /** ProductId to Custom Fields Map packed in container. */
1488
+ productIdToCustomFields?: Record<string, CustomFieldsContainer>;
1489
+ metadata?: PagingMetadata;
1490
+ totalResults?: number;
1491
+ }
1492
+ export interface CustomFieldsContainer {
1493
+ customFields?: Record<string, any>;
1494
+ }
1495
+ export interface AggregateProductsRequest {
1496
+ /** Filter applied to original data */
1497
+ filter?: Record<string, any> | null;
1498
+ /** This is an object defining aggregation itself */
1499
+ aggregation?: Record<string, any> | null;
1500
+ /** Whether hidden products should be considered. Requires permissions to manage products. */
1501
+ includeHiddenProducts?: boolean;
1502
+ /** Whether merchant specific data should be included in the response. Requires permissions to manage products. */
1503
+ includeMerchantSpecificData?: boolean;
1504
+ }
1505
+ export interface AggregateProductsResponse {
1506
+ aggregates?: Record<string, any> | null;
1507
+ }
1508
+ export interface MessageEnvelope {
1509
+ /** App instance ID. */
1510
+ instanceId?: string | null;
1511
+ /** Event type. */
1512
+ eventType?: string;
1513
+ /** The identification type and identity data. */
1514
+ identity?: IdentificationData;
1515
+ /** Stringify payload. */
1516
+ data?: string;
1517
+ }
1518
+ export interface IdentificationData extends IdentificationDataIdOneOf {
1519
+ /** ID of a site visitor that has not logged in to the site. */
1520
+ anonymousVisitorId?: string;
1521
+ /** ID of a site visitor that has logged in to the site. */
1522
+ memberId?: string;
1523
+ /** ID of a Wix user (site owner, contributor, etc.). */
1524
+ wixUserId?: string;
1525
+ /** ID of an app. */
1526
+ appId?: string;
1527
+ /** @readonly */
1528
+ identityType?: WebhookIdentityType;
1529
+ }
1530
+ /** @oneof */
1531
+ export interface IdentificationDataIdOneOf {
1532
+ /** ID of a site visitor that has not logged in to the site. */
1533
+ anonymousVisitorId?: string;
1534
+ /** ID of a site visitor that has logged in to the site. */
1535
+ memberId?: string;
1536
+ /** ID of a Wix user (site owner, contributor, etc.). */
1537
+ wixUserId?: string;
1538
+ /** ID of an app. */
1539
+ appId?: string;
1540
+ }
1541
+ export declare enum WebhookIdentityType {
1542
+ UNKNOWN = "UNKNOWN",
1543
+ ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
1544
+ MEMBER = "MEMBER",
1545
+ WIX_USER = "WIX_USER",
1546
+ APP = "APP"
1547
+ }
1548
+ interface NumericPropertyRangeNonNullableFields {
1549
+ minValue: number;
1550
+ maxValue: number;
1551
+ }
1552
+ interface StockNonNullableFields {
1553
+ trackInventory: boolean;
1554
+ inStock: boolean;
1555
+ inventoryStatus: InventoryStatus;
1556
+ }
1557
+ interface FormattedPriceNonNullableFields {
1558
+ price: string;
1559
+ discountedPrice: string;
1560
+ }
1561
+ interface PriceDataNonNullableFields {
1562
+ currency: string;
1563
+ discountedPrice: number;
1564
+ formatted?: FormattedPriceNonNullableFields;
1565
+ }
1566
+ interface CostAndProfitDataNonNullableFields {
1567
+ formattedItemCost: string;
1568
+ profit: number;
1569
+ formattedProfit: string;
1570
+ profitMargin: number;
1571
+ }
1572
+ interface PricePerUnitDataNonNullableFields {
1573
+ totalQuantity: number;
1574
+ totalMeasurementUnit: MeasurementUnit;
1575
+ baseQuantity: number;
1576
+ baseMeasurementUnit: MeasurementUnit;
1577
+ }
1578
+ interface AdditionalInfoSectionNonNullableFields {
1579
+ title: string;
1580
+ description: string;
1581
+ }
1582
+ interface RibbonNonNullableFields {
1583
+ text: string;
1584
+ }
1585
+ interface MediaItemUrlAndSizeNonNullableFields {
1586
+ url: string;
1587
+ width: number;
1588
+ height: number;
1589
+ }
1590
+ interface MediaItemVideoNonNullableFields {
1591
+ files: MediaItemUrlAndSizeNonNullableFields[];
1592
+ stillFrameMediaId: string;
1593
+ }
1594
+ interface MediaItemNonNullableFields {
1595
+ image?: MediaItemUrlAndSizeNonNullableFields;
1596
+ video?: MediaItemVideoNonNullableFields;
1597
+ thumbnail?: MediaItemUrlAndSizeNonNullableFields;
1598
+ mediaType: MediaItemType;
1599
+ title: string;
1600
+ _id: string;
1601
+ }
1602
+ interface MediaNonNullableFields {
1603
+ mainMedia?: MediaItemNonNullableFields;
1604
+ items: MediaItemNonNullableFields[];
1605
+ }
1606
+ interface CustomTextFieldNonNullableFields {
1607
+ title: string;
1608
+ maxLength: number;
1609
+ mandatory: boolean;
1610
+ }
1611
+ interface ChoiceNonNullableFields {
1612
+ value: string;
1613
+ description: string;
1614
+ media?: MediaNonNullableFields;
1615
+ inStock: boolean;
1616
+ visible: boolean;
1617
+ }
1618
+ interface ProductOptionNonNullableFields {
1619
+ optionType: OptionType;
1620
+ name: string;
1621
+ choices: ChoiceNonNullableFields[];
1622
+ }
1623
+ interface PageUrlNonNullableFields {
1624
+ base: string;
1625
+ path: string;
1626
+ }
1627
+ interface DiscountNonNullableFields {
1628
+ type: DiscountType;
1629
+ value: number;
1630
+ }
1631
+ interface VariantDataWithNoStockNonNullableFields {
1632
+ priceData?: PriceDataNonNullableFields;
1633
+ convertedPriceData?: PriceDataNonNullableFields;
1634
+ costAndProfitData?: CostAndProfitDataNonNullableFields;
1635
+ weight: number;
1636
+ sku: string;
1637
+ visible: boolean;
1638
+ }
1639
+ interface VariantStockNonNullableFields {
1640
+ trackQuantity: boolean;
1641
+ inStock: boolean;
1642
+ }
1643
+ interface VariantNonNullableFields {
1644
+ _id: string;
1645
+ variant?: VariantDataWithNoStockNonNullableFields;
1646
+ stock?: VariantStockNonNullableFields;
1647
+ }
1648
+ interface TagNonNullableFields {
1649
+ type: string;
1650
+ children: string;
1651
+ custom: boolean;
1652
+ disabled: boolean;
1653
+ }
1654
+ interface KeywordNonNullableFields {
1655
+ term: string;
1656
+ isMain: boolean;
1657
+ }
1658
+ interface SettingsNonNullableFields {
1659
+ preventAutoRedirect: boolean;
1660
+ keywords: KeywordNonNullableFields[];
1661
+ }
1662
+ interface SeoSchemaNonNullableFields {
1663
+ tags: TagNonNullableFields[];
1664
+ settings?: SettingsNonNullableFields;
1665
+ }
1666
+ interface SecuredMediaNonNullableFields {
1667
+ _id: string;
1668
+ fileName: string;
1669
+ fileType: FileType;
1670
+ }
1671
+ interface ProductNonNullableFields {
1672
+ _id: string;
1673
+ slug: string;
1674
+ productType: ProductType;
1675
+ weightRange?: NumericPropertyRangeNonNullableFields;
1676
+ stock?: StockNonNullableFields;
1677
+ price?: PriceDataNonNullableFields;
1678
+ priceData?: PriceDataNonNullableFields;
1679
+ convertedPriceData?: PriceDataNonNullableFields;
1680
+ priceRange?: NumericPropertyRangeNonNullableFields;
1681
+ costAndProfitData?: CostAndProfitDataNonNullableFields;
1682
+ costRange?: NumericPropertyRangeNonNullableFields;
1683
+ pricePerUnitData?: PricePerUnitDataNonNullableFields;
1684
+ additionalInfoSections: AdditionalInfoSectionNonNullableFields[];
1685
+ ribbons: RibbonNonNullableFields[];
1686
+ media?: MediaNonNullableFields;
1687
+ customTextFields: CustomTextFieldNonNullableFields[];
1688
+ productOptions: ProductOptionNonNullableFields[];
1689
+ productPageUrl?: PageUrlNonNullableFields;
1690
+ numericId: string;
1691
+ inventoryItemId: string;
1692
+ discount?: DiscountNonNullableFields;
1693
+ collectionIds: string[];
1694
+ variants: VariantNonNullableFields[];
1695
+ seoData?: SeoSchemaNonNullableFields;
1696
+ exportProductId: string;
1697
+ digitalFile?: SecuredMediaNonNullableFields;
1698
+ }
1699
+ export interface CreateProductResponseNonNullableFields {
1700
+ product?: ProductNonNullableFields;
1701
+ }
1702
+ export interface UpdateProductResponseNonNullableFields {
1703
+ product?: ProductNonNullableFields;
1704
+ }
1705
+ export interface UpdateVariantsResponseNonNullableFields {
1706
+ variants: VariantNonNullableFields[];
1707
+ }
1708
+ interface CollectionNonNullableFields {
1709
+ media?: MediaNonNullableFields;
1710
+ numberOfProducts: number;
1711
+ seoSchema?: SeoSchemaNonNullableFields;
1712
+ }
1713
+ export interface CreateCollectionResponseNonNullableFields {
1714
+ collection?: CollectionNonNullableFields;
1715
+ }
1716
+ export interface UpdateCollectionResponseNonNullableFields {
1717
+ collection?: CollectionNonNullableFields;
1718
+ }
1719
+ interface ApplicationErrorNonNullableFields {
1720
+ code: string;
1721
+ description: string;
1722
+ }
1723
+ interface ItemMetadataNonNullableFields {
1724
+ originalIndex: number;
1725
+ success: boolean;
1726
+ error?: ApplicationErrorNonNullableFields;
1727
+ }
1728
+ interface BulkProductResultNonNullableFields {
1729
+ itemMetadata?: ItemMetadataNonNullableFields;
1730
+ }
1731
+ interface BulkActionMetadataNonNullableFields {
1732
+ totalSuccesses: number;
1733
+ totalFailures: number;
1734
+ undetailedFailures: number;
1735
+ }
1736
+ export interface BulkUpdateProductsResponseNonNullableFields {
1737
+ results: BulkProductResultNonNullableFields[];
1738
+ bulkActionMetadata?: BulkActionMetadataNonNullableFields;
1739
+ }
1740
+ export interface BulkAdjustProductPropertiesResponseNonNullableFields {
1741
+ results: BulkProductResultNonNullableFields[];
1742
+ bulkActionMetadata?: BulkActionMetadataNonNullableFields;
1743
+ }
1744
+ export interface QueryProductsPlatformizedResponseNonNullableFields {
1745
+ products: ProductNonNullableFields[];
1746
+ }
1747
+ export interface GetProductResponseNonNullableFields {
1748
+ product?: ProductNonNullableFields;
1749
+ }
1750
+ export interface GetCollectionBySlugResponseNonNullableFields {
1751
+ collection?: CollectionNonNullableFields;
1752
+ }
1753
+ interface VariantDataNonNullableFields {
1754
+ price?: PriceDataNonNullableFields;
1755
+ convertedPriceData?: PriceDataNonNullableFields;
1756
+ sku: string;
1757
+ inStock: boolean;
1758
+ visible: boolean;
1759
+ variantId: string;
1760
+ }
1761
+ export interface ProductOptionsAvailabilityResponseNonNullableFields {
1762
+ selectedVariant?: VariantDataNonNullableFields;
1763
+ media?: MediaNonNullableFields;
1764
+ productOptions: ProductOptionNonNullableFields[];
1765
+ availableForPurchase: boolean;
1766
+ managedProduct: boolean;
1767
+ }
1768
+ interface PagingMetadataNonNullableFields {
1769
+ items: number;
1770
+ offset: number;
1771
+ }
1772
+ export interface QueryProductVariantsResponseNonNullableFields {
1773
+ variants: VariantNonNullableFields[];
1774
+ metadata?: PagingMetadataNonNullableFields;
1775
+ totalResults: number;
1776
+ }
1777
+ interface PlatformMediaNonNullableFields {
1778
+ image: string;
1779
+ video: string;
1780
+ }
1781
+ interface PreorderInfoNonNullableFields {
1782
+ enabled: boolean;
1783
+ }
1784
+ interface StoreVariantNonNullableFields {
1785
+ _id: string;
1786
+ variantId: string;
1787
+ productId: string;
1788
+ variantName: string;
1789
+ productName: string;
1790
+ managedVariant: boolean;
1791
+ sku: string;
1792
+ stock?: VariantStockNonNullableFields;
1793
+ collectionIds: string[];
1794
+ media?: PlatformMediaNonNullableFields;
1795
+ preorderInfo?: PreorderInfoNonNullableFields;
1796
+ }
1797
+ export interface QueryStoreVariantsResponseNonNullableFields {
1798
+ variants: StoreVariantNonNullableFields[];
1799
+ }
1800
+ export interface GetStoreVariantResponseNonNullableFields {
1801
+ variant?: StoreVariantNonNullableFields;
1802
+ }
1803
+ export interface BaseEventMetadata {
1804
+ /** App instance ID. */
1805
+ instanceId?: string | null;
1806
+ /** Event type. */
1807
+ eventType?: string;
1808
+ /** The identification type and identity data. */
1809
+ identity?: IdentificationData;
1810
+ }
1811
+ export interface ProductCollectionChangedEnvelope {
1812
+ data: CollectionChanged;
1813
+ metadata: BaseEventMetadata;
1814
+ }
1815
+ /**
1816
+ * Triggered when a collection is changed.
1817
+ * @permissionScope Manage Stores - all permissions
1818
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
1819
+ * @permissionScope Manage Products
1820
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
1821
+ * @permissionScope Read Stores - all read permissions
1822
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES
1823
+ * @permissionScope Read Products
1824
+ * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS
1825
+ * @permissionScope Manage Restaurants - all permissions
1826
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
1827
+ * @permissionScope Manage Orders
1828
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS
1829
+ * @permissionId WIX_STORES.READ_PRODUCTS
1830
+ * @webhook
1831
+ * @eventType com.wix.ecommerce.catalog.api.v1.CollectionChanged
1832
+ */
1833
+ export declare function onProductCollectionChanged(handler: (event: ProductCollectionChangedEnvelope) => void | Promise<void>): void;
1834
+ export interface ProductCollectionCreatedEnvelope {
1835
+ data: CollectionCreated;
1836
+ metadata: BaseEventMetadata;
1837
+ }
1838
+ /**
1839
+ * Triggered when a collection is created.
1840
+ * @permissionScope Manage Stores - all permissions
1841
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
1842
+ * @permissionScope Manage Products
1843
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
1844
+ * @permissionScope Read Stores - all read permissions
1845
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES
1846
+ * @permissionScope Read Products
1847
+ * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS
1848
+ * @permissionScope Manage Restaurants - all permissions
1849
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
1850
+ * @permissionScope Manage Orders
1851
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS
1852
+ * @permissionId WIX_STORES.READ_PRODUCTS
1853
+ * @webhook
1854
+ * @eventType com.wix.ecommerce.catalog.api.v1.CollectionCreated
1855
+ */
1856
+ export declare function onProductCollectionCreated(handler: (event: ProductCollectionCreatedEnvelope) => void | Promise<void>): void;
1857
+ export interface ProductCollectionDeletedEnvelope {
1858
+ data: CollectionDeleted;
1859
+ metadata: BaseEventMetadata;
1860
+ }
1861
+ /**
1862
+ * Triggered when a collection is deleted.
1863
+ * @permissionScope Manage Stores - all permissions
1864
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
1865
+ * @permissionScope Manage Products
1866
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
1867
+ * @permissionScope Read Stores - all read permissions
1868
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES
1869
+ * @permissionScope Read Products
1870
+ * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS
1871
+ * @permissionScope Manage Restaurants - all permissions
1872
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
1873
+ * @permissionScope Manage Orders
1874
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS
1875
+ * @permissionId WIX_STORES.READ_PRODUCTS
1876
+ * @webhook
1877
+ * @eventType com.wix.ecommerce.catalog.api.v1.CollectionDeleted
1878
+ */
1879
+ export declare function onProductCollectionDeleted(handler: (event: ProductCollectionDeletedEnvelope) => void | Promise<void>): void;
1880
+ export interface ProductChangedEnvelope {
1881
+ data: ProductChanged;
1882
+ metadata: BaseEventMetadata;
1883
+ }
1884
+ /**
1885
+ * Triggered when a product is changed.
1886
+ * @permissionScope Manage Stores - all permissions
1887
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
1888
+ * @permissionScope Manage Products
1889
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
1890
+ * @permissionScope Read Stores - all read permissions
1891
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES
1892
+ * @permissionScope Read Products
1893
+ * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS
1894
+ * @permissionScope Manage Restaurants - all permissions
1895
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
1896
+ * @permissionScope Manage Orders
1897
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS
1898
+ * @permissionId WIX_STORES.READ_PRODUCTS
1899
+ * @webhook
1900
+ * @eventType com.wix.ecommerce.catalog.api.v1.ProductChanged
1901
+ */
1902
+ export declare function onProductChanged(handler: (event: ProductChangedEnvelope) => void | Promise<void>): void;
1903
+ export interface ProductCreatedEnvelope {
1904
+ data: ProductCreated;
1905
+ metadata: BaseEventMetadata;
1906
+ }
1907
+ /**
1908
+ * Triggered when a product is created.
1909
+ * @permissionScope Manage Stores - all permissions
1910
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
1911
+ * @permissionScope Manage Products
1912
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
1913
+ * @permissionScope Read Stores - all read permissions
1914
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES
1915
+ * @permissionScope Read Products
1916
+ * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS
1917
+ * @permissionScope Manage Restaurants - all permissions
1918
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
1919
+ * @permissionScope Manage Orders
1920
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS
1921
+ * @permissionId WIX_STORES.READ_PRODUCTS
1922
+ * @webhook
1923
+ * @eventType com.wix.ecommerce.catalog.api.v1.ProductCreated
1924
+ */
1925
+ export declare function onProductCreated(handler: (event: ProductCreatedEnvelope) => void | Promise<void>): void;
1926
+ export interface ProductDeletedEnvelope {
1927
+ data: ProductDeleted;
1928
+ metadata: BaseEventMetadata;
1929
+ }
1930
+ /**
1931
+ * Triggered when a product is deleted.
1932
+ * @permissionScope Manage Stores - all permissions
1933
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
1934
+ * @permissionScope Manage Products
1935
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
1936
+ * @permissionScope Read Stores - all read permissions
1937
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES
1938
+ * @permissionScope Read Products
1939
+ * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS
1940
+ * @permissionScope Manage Restaurants - all permissions
1941
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
1942
+ * @permissionScope Manage Orders
1943
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS
1944
+ * @permissionId WIX_STORES.READ_PRODUCTS
1945
+ * @webhook
1946
+ * @eventType com.wix.ecommerce.catalog.api.v1.ProductDeleted
1947
+ */
1948
+ export declare function onProductDeleted(handler: (event: ProductDeletedEnvelope) => void | Promise<void>): void;
1949
+ export interface ProductVariantsChangedEnvelope {
1950
+ data: VariantsChanged;
1951
+ metadata: BaseEventMetadata;
1952
+ }
1953
+ /**
1954
+ * Triggered when a product variant is changed.
1955
+ * @permissionScope Manage Stores - all permissions
1956
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
1957
+ * @permissionScope Manage Products
1958
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
1959
+ * @permissionScope Read Stores - all read permissions
1960
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES
1961
+ * @permissionScope Read Products
1962
+ * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS
1963
+ * @permissionScope Manage Restaurants - all permissions
1964
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
1965
+ * @permissionScope Manage Orders
1966
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS
1967
+ * @permissionId WIX_STORES.READ_PRODUCTS
1968
+ * @webhook
1969
+ * @eventType com.wix.ecommerce.catalog.api.v1.VariantsChanged
1970
+ */
1971
+ export declare function onProductVariantsChanged(handler: (event: ProductVariantsChangedEnvelope) => void | Promise<void>): void;
1972
+ /**
1973
+ * Creates a new product.
1974
+ * @param product - Product information.
1975
+ * @public
1976
+ * @requiredField product
1977
+ * @requiredField product.costAndProfitData.itemCost
1978
+ * @requiredField product.name
1979
+ * @requiredField product.priceData
1980
+ * @requiredField product.priceData.price
1981
+ * @permissionId WIX_STORES.MODIFY_PRODUCTS
1982
+ * @permissionScope Manage Stores - all permissions
1983
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
1984
+ * @permissionScope Manage Products
1985
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
1986
+ * @applicableIdentity APP
1987
+ * @fqn wix.catalog.api.v1.CatalogWriteApi.CreateProduct
1988
+ */
1989
+ export declare function createProduct(product: Product): Promise<CreateProductResponse & CreateProductResponseNonNullableFields>;
1990
+ /**
1991
+ * Updates specified fields in a product.
1992
+ * @param _id - Product ID (generated automatically by the catalog).
1993
+ * @public
1994
+ * @requiredField _id
1995
+ * @requiredField product
1996
+ * @param product - Product info to update.
1997
+ * @permissionId WIX_STORES.MODIFY_PRODUCTS
1998
+ * @permissionScope Manage Stores - all permissions
1999
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
2000
+ * @permissionScope Manage Products
2001
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
2002
+ * @applicableIdentity APP
2003
+ * @fqn wix.catalog.api.v1.CatalogWriteApi.UpdateProduct
2004
+ */
2005
+ export declare function updateProduct(_id: string, product: UpdateProduct): Promise<UpdateProductResponse & UpdateProductResponseNonNullableFields>;
2006
+ export interface UpdateProduct {
2007
+ /**
2008
+ * Product ID (generated automatically by the catalog).
2009
+ * @readonly
2010
+ */
2011
+ _id?: string;
2012
+ /**
2013
+ * Product name.
2014
+ *
2015
+ * Min: 1 character
2016
+ * Max: 80 characters
2017
+ */
2018
+ name?: string | null;
2019
+ /** A friendly URL name (generated automatically by the catalog when a product is created), can be updated. */
2020
+ slug?: string;
2021
+ /** Whether the product is visible to site visitors. */
2022
+ visible?: boolean | null;
2023
+ /** Currently, only creating physical products ( `"productType": "physical"` ) is supported via the API. */
2024
+ productType?: ProductType;
2025
+ /** Product description. */
2026
+ description?: string | null;
2027
+ /** Stock keeping unit. If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled, SKUs will be set per variant, and this field will be empty. */
2028
+ sku?: string | null;
2029
+ /** Product weight. If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled, weight will be set per variant, and this field will be empty. */
2030
+ weight?: number | null;
2031
+ /**
2032
+ * Product weight range. The minimum and maximum weights of all the variants.
2033
+ * @readonly
2034
+ */
2035
+ weightRange?: NumericPropertyRange;
2036
+ /**
2037
+ * Product inventory status (in future this will be writable via Inventory API).
2038
+ * @readonly
2039
+ */
2040
+ stock?: Stock;
2041
+ /**
2042
+ * Deprecated (use `priceData` instead).
2043
+ * @readonly
2044
+ * @deprecated
2045
+ */
2046
+ price?: PriceData;
2047
+ /** Price data. */
2048
+ priceData?: PriceData;
2049
+ /**
2050
+ * Price data, converted to the currency specified in request header.
2051
+ * @readonly
2052
+ */
2053
+ convertedPriceData?: PriceData;
2054
+ /**
2055
+ * Product price range. The minimum and maximum prices of all the variants.
2056
+ * @readonly
2057
+ */
2058
+ priceRange?: NumericPropertyRange;
2059
+ /** Cost and profit data. */
2060
+ costAndProfitData?: CostAndProfitData;
2061
+ /**
2062
+ * Product cost range. The minimum and maximum costs of all the variants.
2063
+ * @readonly
2064
+ */
2065
+ costRange?: NumericPropertyRange;
2066
+ /** Price per unit data. */
2067
+ pricePerUnitData?: PricePerUnitData;
2068
+ /** Additional text that the store owner can assign to the product (e.g. shipping details, refund policy, etc.). */
2069
+ additionalInfoSections?: AdditionalInfoSection[];
2070
+ /**
2071
+ * Deprecated (use `ribbon` instead).
2072
+ * @readonly
2073
+ * @deprecated
2074
+ */
2075
+ ribbons?: Ribbon[];
2076
+ /**
2077
+ * Media items (images, videos etc) associated with this product (writable via [Add Product Media](https://dev.wix.com/api/rest/wix-stores/catalog/products/add-product-media) endpoint).
2078
+ * @readonly
2079
+ */
2080
+ media?: Media;
2081
+ /**
2082
+ * Text box for the customer to add a message to their order (e.g., customization request). Currently writable only from the UI.
2083
+ * @readonly
2084
+ */
2085
+ customTextFields?: CustomTextField[];
2086
+ /** Whether variants are being managed for this product - enables unique SKU, price and weight per variant. Also affects inventory data. Once set to `true`, can be reset to `false` only if no variants exist. You cannot set `manageVariants` to `true` if more than 300 variants are defined. */
2087
+ manageVariants?: boolean | null;
2088
+ /** Options for this product. */
2089
+ productOptions?: ProductOption[];
2090
+ /**
2091
+ * Product page URL for this product (generated automatically by the server).
2092
+ * @readonly
2093
+ */
2094
+ productPageUrl?: PageUrl;
2095
+ /**
2096
+ * Product’s unique numeric ID (assigned in ascending order).
2097
+ * Primarily used for sorting and filtering when crawling all products.
2098
+ * @readonly
2099
+ */
2100
+ numericId?: string;
2101
+ /**
2102
+ * Inventory item ID - ID referencing the inventory system.
2103
+ * @readonly
2104
+ */
2105
+ inventoryItemId?: string;
2106
+ /** Discount deducted from the product's original price. */
2107
+ discount?: Discount;
2108
+ /**
2109
+ * A list of all collection IDs that this product is included in (writable via the Catalog > Collection APIs).
2110
+ * @readonly
2111
+ */
2112
+ collectionIds?: string[];
2113
+ /**
2114
+ * Product variants, will be provided if the the request was sent with the `includeVariants: true`.
2115
+ *
2116
+ * Max: 1,000 variants
2117
+ * @readonly
2118
+ */
2119
+ variants?: Variant[];
2120
+ /**
2121
+ * Date and time the product was last updated.
2122
+ * @readonly
2123
+ */
2124
+ lastUpdated?: Date | null;
2125
+ /**
2126
+ * Date and time the product was created.
2127
+ * @readonly
2128
+ */
2129
+ _createdDate?: Date | null;
2130
+ /** Custom SEO data for the product. */
2131
+ seoData?: SeoSchema;
2132
+ /** Product ribbon. Used to highlight relevant information about a product. For example, "Sale", "New Arrival", "Sold Out". */
2133
+ ribbon?: string | null;
2134
+ /** Product brand. Including a brand name can help improve site and product [visibility on search engines](https://support.wix.com/en/article/adding-brand-names-to-boost-product-page-seo-in-wix-stores). */
2135
+ brand?: string | null;
2136
+ }
2137
+ /**
2138
+ * Deletes a product.
2139
+ * @param _id - ID of the product to delete.
2140
+ * @public
2141
+ * @requiredField _id
2142
+ * @permissionId WIX_STORES.MODIFY_PRODUCTS
2143
+ * @permissionScope Manage Stores - all permissions
2144
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
2145
+ * @permissionScope Manage Products
2146
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
2147
+ * @applicableIdentity APP
2148
+ * @fqn wix.catalog.api.v1.CatalogWriteApi.DeleteProduct
2149
+ */
2150
+ export declare function deleteProduct(_id: string): Promise<void>;
2151
+ /**
2152
+ * Updates variants of a specified product.
2153
+ * @param _id - ID of the product with managed variants.
2154
+ * @param variants - Variant info to update.
2155
+ * @public
2156
+ * @requiredField _id
2157
+ * @requiredField variants
2158
+ * @permissionId WIX_STORES.MODIFY_PRODUCTS
2159
+ * @permissionScope Manage Stores - all permissions
2160
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
2161
+ * @permissionScope Manage Products
2162
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
2163
+ * @applicableIdentity APP
2164
+ * @fqn wix.catalog.api.v1.CatalogWriteApi.UpdateVariants
2165
+ */
2166
+ export declare function updateProductVariants(_id: string, variants: VariantOverride[]): Promise<UpdateVariantsResponse & UpdateVariantsResponseNonNullableFields>;
2167
+ /**
2168
+ * Resets the data (such as the price and the weight) of all variants for a given product to their default values.
2169
+ * @param _id - Product ID.
2170
+ * @public
2171
+ * @requiredField _id
2172
+ * @permissionId WIX_STORES.MODIFY_PRODUCTS
2173
+ * @permissionScope Manage Stores - all permissions
2174
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
2175
+ * @permissionScope Manage Products
2176
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
2177
+ * @applicableIdentity APP
2178
+ * @fqn wix.catalog.api.v1.CatalogWriteApi.ResetAllVariantData
2179
+ */
2180
+ export declare function resetAllProductVariantData(_id: string): Promise<void>;
2181
+ /**
2182
+ * Adds products to a specified collection.
2183
+ * @param _id - Collection ID.
2184
+ * @param productIds - IDs of the products to add to the collection, separated by commas.
2185
+ * @public
2186
+ * @requiredField _id
2187
+ * @requiredField productIds
2188
+ * @permissionId WIX_STORES.MODIFY_PRODUCTS
2189
+ * @permissionScope Manage Stores - all permissions
2190
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
2191
+ * @permissionScope Manage Products
2192
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
2193
+ * @applicableIdentity APP
2194
+ * @fqn wix.catalog.api.v1.CatalogWriteApi.AddProductsToCollection
2195
+ */
2196
+ export declare function addProductsToCollection(_id: string, productIds: string[]): Promise<void>;
2197
+ /**
2198
+ * Deletes products from a specified collection.
2199
+ * @param _id - ID of the collection from which to remove products.
2200
+ * @param productIds - IDs of the products to remove from the collection.
2201
+ * @public
2202
+ * @documentationMaturity preview
2203
+ * @requiredField _id
2204
+ * @requiredField productIds
2205
+ * @permissionId WIX_STORES.MODIFY_PRODUCTS
2206
+ * @permissionScope Manage Stores - all permissions
2207
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
2208
+ * @permissionScope Manage Products
2209
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
2210
+ * @applicableIdentity APP
2211
+ * @fqn wix.catalog.api.v1.CatalogWriteApi.RemoveProductsFromCollection
2212
+ */
2213
+ export declare function removeProductsFromCollection(_id: string, productIds: string[]): Promise<void>;
2214
+ /**
2215
+ * Adds media items to a specified product, either via URL or existing media ID.
2216
+ *
2217
+ * > **NOTE:** The URL is not validated and no event is triggered to indicate if the media was added successfully.
2218
+ * @param _id - Product ID.
2219
+ * @param media - Sources of media items already uploaded to the Wix site.
2220
+ * @public
2221
+ * @requiredField _id
2222
+ * @requiredField media
2223
+ * @permissionId WIX_STORES.MODIFY_PRODUCTS
2224
+ * @permissionScope Manage Stores - all permissions
2225
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
2226
+ * @permissionScope Manage Products
2227
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
2228
+ * @applicableIdentity APP
2229
+ * @fqn wix.catalog.api.v1.CatalogWriteApi.AddProductMedia
2230
+ */
2231
+ export declare function addProductMedia(_id: string, media: MediaDataForWrite[]): Promise<void>;
2232
+ /**
2233
+ * Removes specified media items from a product.
2234
+ * Pass an empty array to remove all media items.
2235
+ * @param _id - Product ID.
2236
+ * @param mediaIds - List of media IDs to remove. Pass an empty array to delete all media items for the product.
2237
+ * @public
2238
+ * @requiredField _id
2239
+ * @requiredField mediaIds
2240
+ * @permissionId WIX_STORES.MODIFY_PRODUCTS
2241
+ * @permissionScope Manage Stores - all permissions
2242
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
2243
+ * @permissionScope Manage Products
2244
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
2245
+ * @applicableIdentity APP
2246
+ * @fqn wix.catalog.api.v1.CatalogWriteApi.RemoveProductMedia
2247
+ */
2248
+ export declare function removeProductMedia(_id: string, mediaIds: string[]): Promise<void>;
2249
+ /**
2250
+ * Links media items that are already associated with a specific product to a choice within the same product.
2251
+ *
2252
+ * Media items can only be set for choices within one option at a time - e.g., if you set media items for some or all of the choices within the Colors option (blue, green, and red), you won't be able to also assign media items to choices within the Size option (S, M, and L).
2253
+ *
2254
+ * To remove all existing media items, call the [Remove Product Media From Choices](https://dev.wix.com/api/rest/wix-stores/catalog/products/remove-product-media-from-choices) endpoint.
2255
+ * @param _id - Product ID.
2256
+ * @param media - Product media items and the choices to add the media to.
2257
+ * @public
2258
+ * @documentationMaturity preview
2259
+ * @requiredField _id
2260
+ * @requiredField media
2261
+ * @requiredField media.choice
2262
+ * @requiredField media.option
2263
+ * @permissionId WIX_STORES.MODIFY_PRODUCTS
2264
+ * @permissionScope Manage Stores - all permissions
2265
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
2266
+ * @permissionScope Manage Products
2267
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
2268
+ * @applicableIdentity APP
2269
+ * @fqn wix.catalog.api.v1.CatalogWriteApi.AddProductMediaToChoices
2270
+ */
2271
+ export declare function addProductMediaToChoices(_id: string, media: MediaAssignmentToChoice[]): Promise<void>;
2272
+ /**
2273
+ * Removes media items from all or some of a product's choices.
2274
+ * (Media items can only be set for choices within one option at a time - e.g., if you set media items for some or all of the choices within the Colors option (blue, green, and red), you won't be able to also assign media items to choices within the Size option (S, M, and L).)
2275
+ * @param _id - Product ID from whose choices to remove media items.
2276
+ * @param media - Media to remove from choices. If an empty array is passed, all media will be removed from all choices for the given product.
2277
+ * @public
2278
+ * @documentationMaturity preview
2279
+ * @requiredField _id
2280
+ * @requiredField media
2281
+ * @permissionId WIX_STORES.MODIFY_PRODUCTS
2282
+ * @permissionScope Manage Stores - all permissions
2283
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
2284
+ * @permissionScope Manage Products
2285
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
2286
+ * @applicableIdentity APP
2287
+ * @fqn wix.catalog.api.v1.CatalogWriteApi.RemoveProductMediaFromChoices
2288
+ */
2289
+ export declare function removeProductMediaFromChoices(_id: string, media: MediaAssignmentToChoice[]): Promise<void>;
2290
+ /**
2291
+ * Delete all options from a specific product. Only available when [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is disabled.
2292
+ * @param _id - ID of the product with options to delete.
2293
+ * @public
2294
+ * @documentationMaturity preview
2295
+ * @requiredField _id
2296
+ * @permissionId WIX_STORES.MODIFY_PRODUCTS
2297
+ * @permissionScope Manage Stores - all permissions
2298
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
2299
+ * @permissionScope Manage Products
2300
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
2301
+ * @applicableIdentity APP
2302
+ * @fqn wix.catalog.api.v1.CatalogWriteApi.DeleteProductOptions
2303
+ */
2304
+ export declare function deleteProductOptions(_id: string): Promise<void>;
2305
+ /**
2306
+ * Deletes a product's brand.
2307
+ * @param _id - Product ID.
2308
+ * @public
2309
+ * @requiredField _id
2310
+ * @permissionId WIX_STORES.MODIFY_PRODUCTS
2311
+ * @permissionScope Manage Stores - all permissions
2312
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
2313
+ * @permissionScope Manage Products
2314
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
2315
+ * @applicableIdentity APP
2316
+ * @fqn wix.catalog.api.v1.CatalogWriteApi.RemoveBrand
2317
+ */
2318
+ export declare function removeBrand(_id: string): Promise<void>;
2319
+ /**
2320
+ * Creates a new collection.
2321
+ * @param collection - Collection info.
2322
+ * @public
2323
+ * @requiredField collection
2324
+ * @requiredField collection.name
2325
+ * @permissionId WIX_STORES.MODIFY_PRODUCTS
2326
+ * @permissionScope Manage Stores - all permissions
2327
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
2328
+ * @permissionScope Manage Products
2329
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
2330
+ * @applicableIdentity APP
2331
+ * @fqn wix.catalog.api.v1.CatalogWriteApi.CreateCollection
2332
+ */
2333
+ export declare function createCollection(collection: Collection): Promise<CreateCollectionResponse & CreateCollectionResponseNonNullableFields>;
2334
+ /**
2335
+ * Updates specified properties of a collection. To add products to a collection, call the [addProductsToCollection](#addproductstocollection) function.
2336
+ * @param _id - Collection ID (generated automatically by the catalog).
2337
+ * @public
2338
+ * @documentationMaturity preview
2339
+ * @requiredField _id
2340
+ * @requiredField collection
2341
+ * @param collection - Collection info to update.
2342
+ * @permissionId WIX_STORES.MODIFY_PRODUCTS
2343
+ * @permissionScope Manage Stores - all permissions
2344
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
2345
+ * @permissionScope Manage Products
2346
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
2347
+ * @applicableIdentity APP
2348
+ * @fqn wix.catalog.api.v1.CatalogWriteApi.UpdateCollection
2349
+ */
2350
+ export declare function updateCollection(_id: string | null, collection: UpdateCollection): Promise<UpdateCollectionResponse & UpdateCollectionResponseNonNullableFields>;
2351
+ export interface UpdateCollection {
2352
+ /**
2353
+ * Collection ID (generated automatically by the catalog).
2354
+ * @readonly
2355
+ */
2356
+ _id?: string | null;
2357
+ /** Collection name. */
2358
+ name?: string | null;
2359
+ /**
2360
+ * Media items (images, videos etc) associated with this collection. Read only.
2361
+ * @readonly
2362
+ */
2363
+ media?: Media;
2364
+ /**
2365
+ * Number of products in the collection. Read only.
2366
+ * @readonly
2367
+ */
2368
+ numberOfProducts?: number;
2369
+ /** Collection description. */
2370
+ description?: string | null;
2371
+ /** Collection slug. */
2372
+ slug?: string | null;
2373
+ /** Collection visibility. Only impacts dynamic pages, no impact on static pages. Default: `true`. */
2374
+ visible?: boolean | null;
2375
+ }
2376
+ /**
2377
+ * Deletes a collection.
2378
+ * @public
2379
+ * @documentationMaturity preview
2380
+ * @requiredField _id
2381
+ * @param _id - ID of the collection to delete.
2382
+ * @permissionId WIX_STORES.MODIFY_PRODUCTS
2383
+ * @permissionScope Manage Stores - all permissions
2384
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
2385
+ * @permissionScope Manage Products
2386
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
2387
+ * @applicableIdentity APP
2388
+ * @fqn wix.catalog.api.v1.CatalogWriteApi.DeleteCollection
2389
+ */
2390
+ export declare function deleteCollection(_id: string): Promise<void>;
2391
+ /**
2392
+ * Deletes a product's ribbon.
2393
+ * @param _id - Product ID.
2394
+ * @public
2395
+ * @requiredField _id
2396
+ * @permissionId WIX_STORES.MODIFY_PRODUCTS
2397
+ * @permissionScope Manage Stores - all permissions
2398
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
2399
+ * @permissionScope Manage Products
2400
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
2401
+ * @applicableIdentity APP
2402
+ * @fqn wix.catalog.api.v1.CatalogWriteApi.RemoveRibbon
2403
+ */
2404
+ export declare function removeRibbon(_id: string): Promise<void>;
2405
+ /**
2406
+ * Updates a specified property for up to 100 products at a time.
2407
+ * @param ids - Product IDs.
2408
+ * @param set - Field to update.
2409
+ * @public
2410
+ * @documentationMaturity preview
2411
+ * @requiredField ids
2412
+ * @requiredField set
2413
+ * @permissionId WIX_STORES.MODIFY_PRODUCTS
2414
+ * @permissionScope Manage Stores - all permissions
2415
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
2416
+ * @permissionScope Manage Products
2417
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
2418
+ * @applicableIdentity APP
2419
+ * @fqn wix.catalog.api.v1.CatalogWriteApi.BulkUpdateProducts
2420
+ */
2421
+ export declare function bulkUpdateProductsProperty(ids: string[], set: SetValue): Promise<BulkUpdateProductsResponse & BulkUpdateProductsResponseNonNullableFields>;
2422
+ /**
2423
+ * Adjusts a specified numerical property for up to 100 products at a time.
2424
+ * The property can be increased or decreased either by percentage or amount.
2425
+ * @param adjust - Numerical property to adjust.
2426
+ * @param ids - Product IDs.
2427
+ * @public
2428
+ * @documentationMaturity preview
2429
+ * @requiredField adjust
2430
+ * @requiredField ids
2431
+ * @permissionId WIX_STORES.MODIFY_PRODUCTS
2432
+ * @permissionScope Manage Stores - all permissions
2433
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
2434
+ * @permissionScope Manage Products
2435
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
2436
+ * @applicableIdentity APP
2437
+ * @fqn wix.catalog.api.v1.CatalogWriteApi.BulkAdjustProductProperties
2438
+ */
2439
+ export declare function bulkAdjustProductProperty(adjust: AdjustValue, ids: string[]): Promise<BulkAdjustProductPropertiesResponse & BulkAdjustProductPropertiesResponseNonNullableFields>;
2440
+ /**
2441
+ * Returns a list of up to 100 products, given the provided paging, sorting and filtering.
2442
+ * @public
2443
+ * @permissionScope Manage Stores - all permissions
2444
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
2445
+ * @permissionScope Manage Products
2446
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
2447
+ * @permissionScope Read Stores - all read permissions
2448
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES
2449
+ * @permissionScope Read Products
2450
+ * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS
2451
+ * @permissionScope Manage Restaurants - all permissions
2452
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
2453
+ * @permissionScope Manage Orders
2454
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS
2455
+ * @permissionId WIX_STORES.READ_PRODUCTS
2456
+ * @applicableIdentity APP
2457
+ * @applicableIdentity VISITOR
2458
+ * @fqn wix.catalog.api.v1.CatalogReadApi.QueryProductsPlatformized
2459
+ */
2460
+ export declare function queryProducts(): ProductsQueryBuilder;
2461
+ interface QueryOffsetResult {
2462
+ currentPage: number | undefined;
2463
+ totalPages: number | undefined;
2464
+ totalCount: number | undefined;
2465
+ hasNext: () => boolean;
2466
+ hasPrev: () => boolean;
2467
+ length: number;
2468
+ pageSize: number;
2469
+ }
2470
+ export interface ProductsQueryResult extends QueryOffsetResult {
2471
+ items: Product[];
2472
+ query: ProductsQueryBuilder;
2473
+ next: () => Promise<ProductsQueryResult>;
2474
+ prev: () => Promise<ProductsQueryResult>;
2475
+ }
2476
+ export interface ProductsQueryBuilder {
2477
+ /** @param propertyName - Property whose value is compared with `value`.
2478
+ * @param value - Value to compare against.
2479
+ */
2480
+ eq: (propertyName: '_id' | 'name' | 'slug' | 'productType' | 'description' | 'sku' | 'price' | 'priceData.price' | 'numericId' | 'collectionIds' | 'lastUpdated' | '_createdDate', value: any) => ProductsQueryBuilder;
2481
+ /** @param propertyName - Property whose value is compared with `value`.
2482
+ * @param value - Value to compare against.
2483
+ */
2484
+ ne: (propertyName: '_id' | 'name' | 'slug' | 'productType' | 'description' | 'sku' | 'price' | 'priceData.price' | 'numericId' | 'collectionIds' | 'lastUpdated' | '_createdDate', value: any) => ProductsQueryBuilder;
2485
+ /** @param propertyName - Property whose value is compared with `value`.
2486
+ * @param value - Value to compare against.
2487
+ */
2488
+ ge: (propertyName: 'priceData.price' | 'numericId' | 'lastUpdated' | '_createdDate', value: any) => ProductsQueryBuilder;
2489
+ /** @param propertyName - Property whose value is compared with `value`.
2490
+ * @param value - Value to compare against.
2491
+ */
2492
+ gt: (propertyName: 'priceData.price' | 'numericId' | 'lastUpdated' | '_createdDate', value: any) => ProductsQueryBuilder;
2493
+ /** @param propertyName - Property whose value is compared with `value`.
2494
+ * @param value - Value to compare against.
2495
+ */
2496
+ le: (propertyName: 'priceData.price' | 'numericId' | 'lastUpdated' | '_createdDate', value: any) => ProductsQueryBuilder;
2497
+ /** @param propertyName - Property whose value is compared with `value`.
2498
+ * @param value - Value to compare against.
2499
+ */
2500
+ lt: (propertyName: 'priceData.price' | 'numericId' | 'lastUpdated' | '_createdDate', value: any) => ProductsQueryBuilder;
2501
+ /** @param propertyName - Property whose value is compared with `string`.
2502
+ * @param string - String to compare against. Case-insensitive.
2503
+ */
2504
+ startsWith: (propertyName: '_id' | 'name' | 'slug' | 'description' | 'sku', value: string) => ProductsQueryBuilder;
2505
+ /** @param propertyName - Property whose value is compared with `values`.
2506
+ * @param values - List of values to compare against.
2507
+ */
2508
+ hasSome: (propertyName: '_id' | 'name' | 'slug' | 'productType' | 'description' | 'sku' | 'price' | 'priceData.price' | 'numericId' | 'collectionIds' | 'lastUpdated' | '_createdDate', value: any[]) => ProductsQueryBuilder;
2509
+ /** @param propertyName - Property whose value is compared with `values`.
2510
+ * @param values - List of values to compare against.
2511
+ */
2512
+ hasAll: (propertyName: 'collectionIds', value: any[]) => ProductsQueryBuilder;
2513
+ in: (propertyName: '_id' | 'name' | 'slug' | 'productType' | 'description' | 'sku' | 'price' | 'priceData.price' | 'numericId' | 'collectionIds' | 'lastUpdated' | '_createdDate', value: any) => ProductsQueryBuilder;
2514
+ exists: (propertyName: '_id' | 'name' | 'slug' | 'productType' | 'description' | 'sku' | 'price' | 'priceData.price' | 'numericId' | 'collectionIds' | 'lastUpdated' | '_createdDate', value: boolean) => ProductsQueryBuilder;
2515
+ /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */
2516
+ ascending: (...propertyNames: Array<'_id' | 'name' | 'slug' | 'productType' | 'sku' | 'price' | 'priceData.price' | 'numericId' | 'lastUpdated'>) => ProductsQueryBuilder;
2517
+ /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */
2518
+ descending: (...propertyNames: Array<'_id' | 'name' | 'slug' | 'productType' | 'sku' | 'price' | 'priceData.price' | 'numericId' | 'lastUpdated'>) => ProductsQueryBuilder;
2519
+ /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */
2520
+ limit: (limit: number) => ProductsQueryBuilder;
2521
+ /** @param skip - Number of items to skip in the query results before returning the results. */
2522
+ skip: (skip: number) => ProductsQueryBuilder;
2523
+ find: () => Promise<ProductsQueryResult>;
2524
+ }
2525
+ /**
2526
+ * Retrieves a product with the provided ID.
2527
+ * @param _id - Requested product ID.
2528
+ * @public
2529
+ * @requiredField _id
2530
+ * @permissionId WIX_STORES.READ_PRODUCTS
2531
+ * @permissionScope Manage Stores - all permissions
2532
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
2533
+ * @permissionScope Manage Products
2534
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
2535
+ * @permissionScope Read Stores - all read permissions
2536
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES
2537
+ * @permissionScope Read Products
2538
+ * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS
2539
+ * @permissionScope Manage Restaurants - all permissions
2540
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
2541
+ * @permissionScope Manage Orders
2542
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS
2543
+ * @applicableIdentity APP
2544
+ * @applicableIdentity VISITOR
2545
+ * @fqn wix.catalog.api.v1.CatalogReadApi.GetProduct
2546
+ */
2547
+ export declare function getProduct(_id: string, options?: GetProductOptions): Promise<GetProductResponse & GetProductResponseNonNullableFields>;
2548
+ export interface GetProductOptions {
2549
+ /** Whether merchant specific data, such as cost and profit data, should be included in the response. Requires permissions to manage products. */
2550
+ includeMerchantSpecificData?: boolean;
2551
+ }
2552
+ /**
2553
+ * Retrieves a collection with the provided slug.
2554
+ * @param slug - Slug of the collection to retrieve.
2555
+ * @public
2556
+ * @requiredField slug
2557
+ * @permissionId WIX_STORES.READ_PRODUCTS
2558
+ * @permissionScope Manage Stores - all permissions
2559
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
2560
+ * @permissionScope Manage Products
2561
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
2562
+ * @permissionScope Read Stores - all read permissions
2563
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES
2564
+ * @permissionScope Read Products
2565
+ * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS
2566
+ * @permissionScope Manage Restaurants - all permissions
2567
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
2568
+ * @permissionScope Manage Orders
2569
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS
2570
+ * @applicableIdentity APP
2571
+ * @applicableIdentity VISITOR
2572
+ * @fqn wix.catalog.api.v1.CatalogReadApi.GetCollectionBySlug
2573
+ */
2574
+ export declare function getCollectionBySlug(slug: string): Promise<GetCollectionBySlugResponse & GetCollectionBySlugResponseNonNullableFields>;
2575
+ /**
2576
+ * Gets the availability of relevant product variants based on the product ID and selections provided. See [Use Cases](https://dev.wix.com/api/rest/wix-stores/catalog/use-cases) for an example.
2577
+ * @param _id - Requested product ID.
2578
+ * @param options - Array containing the selected options. For example, `["color": "Blue", "size": "Large"]`.
2579
+ * @public
2580
+ * @requiredField _id
2581
+ * @requiredField options
2582
+ * @permissionId WIX_STORES.READ_PRODUCTS
2583
+ * @permissionScope Manage Stores - all permissions
2584
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
2585
+ * @permissionScope Manage Products
2586
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
2587
+ * @permissionScope Read Stores - all read permissions
2588
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES
2589
+ * @permissionScope Read Products
2590
+ * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS
2591
+ * @permissionScope Manage Restaurants - all permissions
2592
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
2593
+ * @permissionScope Manage Orders
2594
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS
2595
+ * @applicableIdentity APP
2596
+ * @applicableIdentity VISITOR
2597
+ * @fqn wix.catalog.api.v1.CatalogReadApi.ProductOptionsAvailability
2598
+ */
2599
+ export declare function getProductOptionsAvailability(_id: string, options: Record<string, string>): Promise<ProductOptionsAvailabilityResponse & ProductOptionsAvailabilityResponseNonNullableFields>;
2600
+ /**
2601
+ * Retrieves product variants, based on either choices (option-choice key-value pairs) or variant IDs.
2602
+ * See [Stores Pagination](https://dev.wix.com/api/rest/wix-stores/pagination) for more information.
2603
+ * @param _id - Requested product ID.
2604
+ * @public
2605
+ * @requiredField _id
2606
+ * @permissionId WIX_STORES.READ_PRODUCTS
2607
+ * @permissionScope Manage Stores - all permissions
2608
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
2609
+ * @permissionScope Manage Products
2610
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
2611
+ * @permissionScope Read Stores - all read permissions
2612
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES
2613
+ * @permissionScope Read Products
2614
+ * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS
2615
+ * @permissionScope Manage Restaurants - all permissions
2616
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
2617
+ * @permissionScope Manage Orders
2618
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS
2619
+ * @applicableIdentity APP
2620
+ * @applicableIdentity VISITOR
2621
+ * @fqn wix.catalog.api.v1.CatalogReadApi.QueryProductVariants
2622
+ */
2623
+ export declare function queryProductVariants(_id: string, options?: QueryProductVariantsOptions): Promise<QueryProductVariantsResponse & QueryProductVariantsResponseNonNullableFields>;
2624
+ export interface QueryProductVariantsOptions {
2625
+ /**
2626
+ * The specific choices available or chosen from within a selection (e.g., choosing the red Selection triggers the red Choice).
2627
+ * You may specify all the relevant choices for a specific variant, or only some of the options, which will return all corresponding variants (not relevant when passing variant IDs).
2628
+ */
2629
+ choices?: Record<string, string>;
2630
+ /** List of variant IDs (not relevant when passing choices). */
2631
+ variantIds?: string[];
2632
+ paging?: Paging;
2633
+ /** Whether merchant specific data should be included in the response. Requires permissions to manage products. */
2634
+ includeMerchantSpecificData?: boolean;
2635
+ }
2636
+ /**
2637
+ * Retrieves up to 100 store variants, given the provided paging, filtering, and sorting.
2638
+ * @param query - Query options.
2639
+ * @public
2640
+ * @requiredField query
2641
+ * @permissionId WIX_STORES.READ_PRODUCTS
2642
+ * @permissionScope Manage Stores - all permissions
2643
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
2644
+ * @permissionScope Manage Products
2645
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
2646
+ * @permissionScope Read Stores - all read permissions
2647
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES
2648
+ * @permissionScope Read Products
2649
+ * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS
2650
+ * @permissionScope Manage Restaurants - all permissions
2651
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
2652
+ * @permissionScope Manage Orders
2653
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS
2654
+ * @applicableIdentity APP
2655
+ * @applicableIdentity VISITOR
2656
+ * @fqn wix.catalog.api.v1.CatalogReadApi.QueryStoreVariants
2657
+ */
2658
+ export declare function queryStoreVariants(query: PlatformQuery): Promise<QueryStoreVariantsResponse & QueryStoreVariantsResponseNonNullableFields>;
2659
+ /**
2660
+ * Retrieves a store variant with the provided ID.
2661
+ * @param _id - Store variant ID. Comprised of the `productId` and the `variantId`, separated by a hyphen. For example, `{productId}-{variantId}`.
2662
+ * @public
2663
+ * @requiredField _id
2664
+ * @permissionId WIX_STORES.READ_PRODUCTS
2665
+ * @permissionScope Manage Stores - all permissions
2666
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES
2667
+ * @permissionScope Manage Products
2668
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS
2669
+ * @permissionScope Read Stores - all read permissions
2670
+ * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES
2671
+ * @permissionScope Read Products
2672
+ * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS
2673
+ * @permissionScope Manage Restaurants - all permissions
2674
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
2675
+ * @permissionScope Manage Orders
2676
+ * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS
2677
+ * @applicableIdentity APP
2678
+ * @applicableIdentity VISITOR
2679
+ * @fqn wix.catalog.api.v1.CatalogReadApi.GetStoreVariant
2680
+ */
2681
+ export declare function getStoreVariant(_id: string): Promise<GetStoreVariantResponse & GetStoreVariantResponseNonNullableFields>;
2682
+ export {};