cloudcommerce 0.0.2 → 0.0.3

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 (46) hide show
  1. package/{.eslintrc.js → .eslintrc.cjs} +4 -4
  2. package/.github/renovate.json +2 -1
  3. package/CHANGELOG.md +13 -0
  4. package/README.md +2 -2
  5. package/package.json +7 -6
  6. package/packages/api/dist/index.d.ts +65 -0
  7. package/packages/api/dist/index.js +42 -24
  8. package/packages/api/dist/index.js.map +1 -1
  9. package/packages/api/dist/types/applications.d.ts +208 -0
  10. package/packages/api/dist/types/authentications.d.ts +97 -0
  11. package/packages/api/dist/types/brands.d.ts +148 -0
  12. package/packages/api/dist/types/carts.d.ts +292 -0
  13. package/packages/api/dist/types/categories.d.ts +190 -0
  14. package/packages/api/dist/types/collections.d.ts +151 -0
  15. package/packages/api/dist/types/customers.d.ts +495 -0
  16. package/packages/api/dist/types/grids.d.ts +149 -0
  17. package/packages/api/dist/types/orders.d.ts +1588 -0
  18. package/packages/api/dist/types/procedures.d.ts +139 -0
  19. package/packages/api/dist/types/products.d.ts +1284 -0
  20. package/packages/api/dist/types/stores.d.ts +120 -0
  21. package/packages/api/dist/types/triggers.d.ts +79 -0
  22. package/packages/api/dist/types.d.ts +65 -0
  23. package/packages/api/dist/types.js +2 -0
  24. package/packages/api/dist/types.js.map +1 -0
  25. package/packages/api/package.json +4 -2
  26. package/packages/api/scripts/build.mjs +5 -0
  27. package/packages/api/src/index.ts +46 -55
  28. package/packages/api/src/types/applications.d.ts +208 -0
  29. package/packages/api/src/types/authentications.d.ts +97 -0
  30. package/packages/api/src/types/brands.d.ts +148 -0
  31. package/packages/api/src/types/carts.d.ts +292 -0
  32. package/packages/api/src/types/categories.d.ts +190 -0
  33. package/packages/api/src/types/collections.d.ts +151 -0
  34. package/packages/api/src/types/customers.d.ts +495 -0
  35. package/packages/api/src/types/grids.d.ts +149 -0
  36. package/packages/api/src/types/orders.d.ts +1588 -0
  37. package/packages/api/src/types/procedures.d.ts +139 -0
  38. package/packages/api/src/types/products.d.ts +1284 -0
  39. package/packages/api/src/types/stores.d.ts +120 -0
  40. package/packages/api/src/types/triggers.d.ts +79 -0
  41. package/packages/api/src/types.ts +74 -0
  42. package/packages/api/tests/types.test.ts +13 -0
  43. package/packages/apps/discounts/package.json +1 -1
  44. package/packages/storefront/package.json +1 -1
  45. package/{packages/api/tsconfig.json → tsconfig.json} +8 -3
  46. package/turbo.json +3 -0
@@ -0,0 +1,1284 @@
1
+ /* tslint:disable */
2
+ /**
3
+ * This file was automatically generated by json-schema-to-typescript.
4
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
5
+ * and run json-schema-to-typescript to regenerate this file.
6
+ */
7
+
8
+ export interface Products {
9
+ _id: string;
10
+ created_at: string;
11
+ updated_at: string;
12
+ store_id: number;
13
+ channel_ids?: string[];
14
+ /**
15
+ * Product unique reference code
16
+ */
17
+ sku: string;
18
+ /**
19
+ * Product type
20
+ */
21
+ commodity_type?: 'physical' | 'digital';
22
+ /**
23
+ * Product full name
24
+ */
25
+ name: string;
26
+ /**
27
+ * Slug to complete page URL, starting with number or lowercase letter
28
+ */
29
+ slug?: string;
30
+ /**
31
+ * Status defined by seller, such as draft or live
32
+ */
33
+ status?: string;
34
+ /**
35
+ * True when product is complete registered and ready to sell
36
+ */
37
+ available?: boolean;
38
+ /**
39
+ * Visible on search results, collections and catalogs
40
+ */
41
+ visible?: boolean;
42
+ /**
43
+ * Number to define the importance of the ad, the higher should be displayed first
44
+ */
45
+ ad_relevance?: number;
46
+ /**
47
+ * Short product description in plain text
48
+ */
49
+ short_description?: string;
50
+ /**
51
+ * Full product description, may use HTML tags
52
+ */
53
+ body_html?: string;
54
+ /**
55
+ * Full product description, plain text only
56
+ */
57
+ body_text?: string;
58
+ /**
59
+ * Title tag for page SEO
60
+ */
61
+ meta_title?: string;
62
+ /**
63
+ * Meta description tag for page SEO
64
+ */
65
+ meta_description?: string;
66
+ /**
67
+ * Text translations for internationalization
68
+ */
69
+ i18n?: {
70
+ /**
71
+ * Language specific text fields
72
+ *
73
+ * This interface was referenced by `undefined`'s JSON-Schema definition
74
+ * via the `patternProperty` "^[a-z]{2}(_[a-z]{2})?$".
75
+ */
76
+ [k: string]: {
77
+ /**
78
+ * Product full name
79
+ */
80
+ name?: string;
81
+ /**
82
+ * Short product description in plain text
83
+ */
84
+ short_description?: string;
85
+ /**
86
+ * Full product description, may use HTML tags
87
+ */
88
+ body_html?: string;
89
+ /**
90
+ * Full product description, plain text only
91
+ */
92
+ body_text?: string;
93
+ /**
94
+ * Title tag for page SEO
95
+ */
96
+ meta_title?: string;
97
+ /**
98
+ * Meta description tag for page SEO
99
+ */
100
+ meta_description?: string;
101
+ };
102
+ };
103
+ /**
104
+ * Tags related with product for internal search
105
+ */
106
+ keywords?: string[];
107
+ /**
108
+ * Product sale price, when undefined, product could be bought by any price
109
+ */
110
+ price?: number;
111
+ /**
112
+ * How long sale price is valid, out of this range (if defined), base_price should be applied
113
+ */
114
+ price_effective_date?: {
115
+ /**
116
+ * Start date and time in ISO 8601 standard representation
117
+ */
118
+ start?: string;
119
+ /**
120
+ * Promotion end date and time in ISO 8601 standard representation
121
+ */
122
+ end?: string;
123
+ };
124
+ /**
125
+ * Product original sale price, without discounts
126
+ */
127
+ base_price?: number;
128
+ /**
129
+ * Product cost price to calculate profit
130
+ */
131
+ cost_price?: number;
132
+ /**
133
+ * Designator of currency according to ISO 4217 (3 uppercase letters)
134
+ */
135
+ currency_id?: string;
136
+ /**
137
+ * Graphic symbol used as a shorthand for currency's name
138
+ */
139
+ currency_symbol?: string;
140
+ /**
141
+ * Product quantity available to sell, max to put in cart
142
+ */
143
+ quantity?: number;
144
+ /**
145
+ * Minimum quantity to put in cart
146
+ */
147
+ min_quantity?: number;
148
+ /**
149
+ * Warehouses by code and respective product stock
150
+ */
151
+ inventory?: {
152
+ /**
153
+ * Product quantity available for sale from current warehouse
154
+ *
155
+ * This interface was referenced by `undefined`'s JSON-Schema definition
156
+ * via the `patternProperty` "^[A-Za-z0-9-_]{2,30}$".
157
+ */
158
+ [k: string]: number;
159
+ };
160
+ /**
161
+ * Deadline for production or handling of pre-ordered product
162
+ */
163
+ production_time?: {
164
+ /**
165
+ * Number of days to post the product after purchase, deadline for production or handling
166
+ */
167
+ days: number;
168
+ /**
169
+ * If the deadline is calculated in working days
170
+ */
171
+ working_days?: boolean;
172
+ /**
173
+ * If the production time is cumulative per product unit
174
+ */
175
+ cumulative?: boolean;
176
+ /**
177
+ * When cumulative, increase the term proportionally up to this maximum (in days)
178
+ */
179
+ max_time?: number;
180
+ };
181
+ /**
182
+ * Decrease product available quantity automatically after each order
183
+ */
184
+ manage_stock?: boolean;
185
+ /**
186
+ * Measure and dimension of your product when users might be interested in price per unit
187
+ */
188
+ measurement?: {
189
+ /**
190
+ * Unit of measurement
191
+ */
192
+ unit:
193
+ | 'oz'
194
+ | 'lb'
195
+ | 'mg'
196
+ | 'g'
197
+ | 'kg'
198
+ | 'floz'
199
+ | 'pt'
200
+ | 'qt'
201
+ | 'gal'
202
+ | 'ml'
203
+ | 'cl'
204
+ | 'l'
205
+ | 'cbm'
206
+ | 'in'
207
+ | 'ft'
208
+ | 'yd'
209
+ | 'cm'
210
+ | 'm'
211
+ | 'sqft'
212
+ | 'sqm'
213
+ | 'ct';
214
+ /**
215
+ * Maximum number of decimal places in the product quantity (in unit of measure)
216
+ */
217
+ precision?: number;
218
+ /**
219
+ * Quantity to calculate the price to be shown on ads, such as GMC `unit_pricing_base_measure`
220
+ */
221
+ pricing_base_measure?: number;
222
+ };
223
+ /**
224
+ * Product dimensions with packaging for freight calculation
225
+ */
226
+ dimensions?: {
227
+ /**
228
+ * Package width, height and length
229
+ *
230
+ * This interface was referenced by `undefined`'s JSON-Schema definition
231
+ * via the `patternProperty` "^width|height|length$".
232
+ */
233
+ [k: string]: {
234
+ /**
235
+ * Size in specified unit
236
+ */
237
+ value: number;
238
+ /**
239
+ * Unit of measurement
240
+ */
241
+ unit?: 'mm' | 'cm' | 'm' | 'ft' | 'in' | 'yd' | 'mi';
242
+ };
243
+ };
244
+ /**
245
+ * Package weight for freight calculation
246
+ */
247
+ weight?: {
248
+ /**
249
+ * Size in specified unit
250
+ */
251
+ value: number;
252
+ /**
253
+ * Unit of measurement
254
+ */
255
+ unit?: 'mg' | 'g' | 'kg' | 'lb' | 'oz';
256
+ };
257
+ /**
258
+ * Item condition
259
+ */
260
+ condition?: 'new' | 'refurbished' | 'used' | 'not_specified';
261
+ /**
262
+ * Product restricted to adults (18+)
263
+ */
264
+ adult?: boolean;
265
+ /**
266
+ * Warranty time and conditions
267
+ */
268
+ warranty?: string;
269
+ /**
270
+ * List of product brands
271
+ */
272
+ brands?: {
273
+ /**
274
+ * Brand ID (ObjectID)
275
+ */
276
+ _id?: string;
277
+ /**
278
+ * Brand name
279
+ */
280
+ name: string;
281
+ /**
282
+ * Text translations for internationalization
283
+ */
284
+ i18n?: {
285
+ /**
286
+ * Language specific text fields
287
+ *
288
+ * This interface was referenced by `undefined`'s JSON-Schema definition
289
+ * via the `patternProperty` "^[a-z]{2}(_[a-z]{2})?$".
290
+ */
291
+ [k: string]: {
292
+ /**
293
+ * Brand name
294
+ */
295
+ name?: string;
296
+ };
297
+ };
298
+ /**
299
+ * Brand page slug
300
+ */
301
+ slug?: string;
302
+ /**
303
+ * Brand logo
304
+ */
305
+ logo?: {
306
+ /**
307
+ * Image link
308
+ */
309
+ url: string;
310
+ /**
311
+ * Image size (width x height) in px, such as 100x50 (100px width, 50px height)
312
+ */
313
+ size?: string;
314
+ /**
315
+ * Alternative text, HTML alt tag (important for SEO)
316
+ */
317
+ alt?: string;
318
+ };
319
+ }[];
320
+ /**
321
+ * List of product categories
322
+ */
323
+ categories?: {
324
+ /**
325
+ * Category ID (ObjectID)
326
+ */
327
+ _id?: string;
328
+ /**
329
+ * Category name
330
+ */
331
+ name: string;
332
+ /**
333
+ * Text translations for internationalization
334
+ */
335
+ i18n?: {
336
+ /**
337
+ * Language specific text fields
338
+ *
339
+ * This interface was referenced by `undefined`'s JSON-Schema definition
340
+ * via the `patternProperty` "^[a-z]{2}(_[a-z]{2})?$".
341
+ */
342
+ [k: string]: {
343
+ /**
344
+ * Category name
345
+ */
346
+ name?: string;
347
+ };
348
+ };
349
+ /**
350
+ * Category page slug
351
+ */
352
+ slug?: string;
353
+ /**
354
+ * Parent category (above) of current category
355
+ */
356
+ parent?: {
357
+ /**
358
+ * Parent category ID (ObjectID)
359
+ */
360
+ _id?: string;
361
+ /**
362
+ * Parent category name
363
+ */
364
+ name: string;
365
+ /**
366
+ * Text translations for internationalization
367
+ */
368
+ i18n?: {
369
+ /**
370
+ * Language specific text fields
371
+ *
372
+ * This interface was referenced by `undefined`'s JSON-Schema definition
373
+ * via the `patternProperty` "^[a-z]{2}(_[a-z]{2})?$".
374
+ */
375
+ [k: string]: {
376
+ /**
377
+ * Parent category name
378
+ */
379
+ name?: string;
380
+ };
381
+ };
382
+ /**
383
+ * Parent category page slug
384
+ */
385
+ slug?: string;
386
+ };
387
+ /**
388
+ * Mercado Libre Taxonomy: https://api.mercadolibre.com/sites/MLB/categories
389
+ */
390
+ ml_category_id?: string;
391
+ /**
392
+ * Google Taxonomy: https://www.google.com/basepages/producttype/taxonomy-with-ids.pt-BR.txt
393
+ */
394
+ google_product_category_id?: number;
395
+ }[];
396
+ /**
397
+ * Product's preferred category tree, separating by >, such as "Women > Dresses"
398
+ */
399
+ category_tree?: string;
400
+ /**
401
+ * Preferred category of the product in the Mercado Libre Taxonomy
402
+ */
403
+ ml_category_id?: string;
404
+ /**
405
+ * Preferred category of the product in the Google Products Taxonomy
406
+ */
407
+ google_product_category_id?: number;
408
+ /**
409
+ * Grids for specifications and variations
410
+ */
411
+ grids?: {
412
+ /**
413
+ * Grid ID (ObjectID)
414
+ */
415
+ _id?: string;
416
+ /**
417
+ * Grid title
418
+ */
419
+ title: string;
420
+ /**
421
+ * Text translations for internationalization
422
+ */
423
+ i18n?: {
424
+ /**
425
+ * Language specific text fields
426
+ *
427
+ * This interface was referenced by `undefined`'s JSON-Schema definition
428
+ * via the `patternProperty` "^[a-z]{2}(_[a-z]{2})?$".
429
+ */
430
+ [k: string]: {
431
+ /**
432
+ * Grid title
433
+ */
434
+ title?: string;
435
+ };
436
+ };
437
+ /**
438
+ * Optional grid identifier for integrations, generally the grid name normalized
439
+ */
440
+ grid_id?: string;
441
+ }[];
442
+ /**
443
+ * Product attributes and technical specifications
444
+ */
445
+ specifications?: {
446
+ /**
447
+ * Attribute to tell users the energy efficiency class of your product
448
+ */
449
+ energy_efficiency_class?: {
450
+ /**
451
+ * Text displayed for the client describing the specification (custom value)
452
+ */
453
+ text: string;
454
+ /**
455
+ * Text translations for internationalization
456
+ */
457
+ i18n?: {
458
+ /**
459
+ * Language specific text fields
460
+ *
461
+ * This interface was referenced by `undefined`'s JSON-Schema definition
462
+ * via the `patternProperty` "^[a-z]{2}(_[a-z]{2})?$".
463
+ */
464
+ [k: string]: {
465
+ /**
466
+ * Text displayed for the client describing the specification (custom value)
467
+ */
468
+ text?: string;
469
+ };
470
+ };
471
+ /**
472
+ * Value in the Google Product Specification
473
+ */
474
+ value?: 'A+++' | 'A++' | 'A+' | 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G';
475
+ [k: string]: unknown;
476
+ }[];
477
+ /**
478
+ * Attribute to set the demographic that your product is designed for
479
+ */
480
+ age_group?: {
481
+ /**
482
+ * Text displayed for the client describing the specification (custom value)
483
+ */
484
+ text: string;
485
+ /**
486
+ * Text translations for internationalization
487
+ */
488
+ i18n?: {
489
+ /**
490
+ * Language specific text fields
491
+ *
492
+ * This interface was referenced by `undefined`'s JSON-Schema definition
493
+ * via the `patternProperty` "^[a-z]{2}(_[a-z]{2})?$".
494
+ */
495
+ [k: string]: {
496
+ /**
497
+ * Text displayed for the client describing the specification (custom value)
498
+ */
499
+ text?: string;
500
+ };
501
+ };
502
+ /**
503
+ * Value in the Google Product Specification
504
+ */
505
+ value?: 'newborn' | 'infant' | 'toddler' | 'kids' | 'adult';
506
+ [k: string]: unknown;
507
+ }[];
508
+ /**
509
+ * Specify for what gender your product is designed
510
+ */
511
+ gender?: {
512
+ /**
513
+ * Text displayed for the client describing the specification (custom value)
514
+ */
515
+ text: string;
516
+ /**
517
+ * Text translations for internationalization
518
+ */
519
+ i18n?: {
520
+ /**
521
+ * Language specific text fields
522
+ *
523
+ * This interface was referenced by `undefined`'s JSON-Schema definition
524
+ * via the `patternProperty` "^[a-z]{2}(_[a-z]{2})?$".
525
+ */
526
+ [k: string]: {
527
+ /**
528
+ * Text displayed for the client describing the specification (custom value)
529
+ */
530
+ text?: string;
531
+ };
532
+ };
533
+ /**
534
+ * Value in the Google Product Specification
535
+ */
536
+ value?: 'male' | 'female' | 'unisex';
537
+ [k: string]: unknown;
538
+ }[];
539
+ /**
540
+ * Attribute to describe the main fabric or material that your product is made of
541
+ */
542
+ material?: {
543
+ /**
544
+ * Text displayed for the client describing the attribute
545
+ */
546
+ text: string;
547
+ /**
548
+ * Text translations for internationalization
549
+ */
550
+ i18n?: {
551
+ /**
552
+ * Language specific text fields
553
+ *
554
+ * This interface was referenced by `undefined`'s JSON-Schema definition
555
+ * via the `patternProperty` "^[a-z]{2}(_[a-z]{2})?$".
556
+ */
557
+ [k: string]: {
558
+ /**
559
+ * Text displayed for the client describing the attribute
560
+ */
561
+ text?: string;
562
+ };
563
+ };
564
+ /**
565
+ * Default normalized value to use on GMC and other integrations
566
+ */
567
+ value?: string;
568
+ [k: string]: unknown;
569
+ }[];
570
+ /**
571
+ * Attribute to describe the pattern or graphic printed on your product
572
+ */
573
+ pattern?: {
574
+ /**
575
+ * Text displayed for the client describing the attribute
576
+ */
577
+ text: string;
578
+ /**
579
+ * Text translations for internationalization
580
+ */
581
+ i18n?: {
582
+ /**
583
+ * Language specific text fields
584
+ *
585
+ * This interface was referenced by `undefined`'s JSON-Schema definition
586
+ * via the `patternProperty` "^[a-z]{2}(_[a-z]{2})?$".
587
+ */
588
+ [k: string]: {
589
+ /**
590
+ * Text displayed for the client describing the attribute
591
+ */
592
+ text?: string;
593
+ };
594
+ };
595
+ /**
596
+ * Default normalized value to use on GMC and other integrations
597
+ */
598
+ value?: string;
599
+ [k: string]: unknown;
600
+ }[];
601
+ /**
602
+ * Attribute to describe the standardized size of your product
603
+ */
604
+ size?: {
605
+ /**
606
+ * Text displayed for the client describing the attribute
607
+ */
608
+ text: string;
609
+ /**
610
+ * Text translations for internationalization
611
+ */
612
+ i18n?: {
613
+ /**
614
+ * Language specific text fields
615
+ *
616
+ * This interface was referenced by `undefined`'s JSON-Schema definition
617
+ * via the `patternProperty` "^[a-z]{2}(_[a-z]{2})?$".
618
+ */
619
+ [k: string]: {
620
+ /**
621
+ * Text displayed for the client describing the attribute
622
+ */
623
+ text?: string;
624
+ };
625
+ };
626
+ /**
627
+ * Default normalized value to use on GMC and other integrations
628
+ */
629
+ value?: string;
630
+ [k: string]: unknown;
631
+ }[];
632
+ /**
633
+ * Attribute to describe the cut of your product
634
+ */
635
+ size_type?: {
636
+ /**
637
+ * Text displayed for the client describing the attribute
638
+ */
639
+ text: string;
640
+ /**
641
+ * Text translations for internationalization
642
+ */
643
+ i18n?: {
644
+ /**
645
+ * Language specific text fields
646
+ *
647
+ * This interface was referenced by `undefined`'s JSON-Schema definition
648
+ * via the `patternProperty` "^[a-z]{2}(_[a-z]{2})?$".
649
+ */
650
+ [k: string]: {
651
+ /**
652
+ * Text displayed for the client describing the attribute
653
+ */
654
+ text?: string;
655
+ };
656
+ };
657
+ /**
658
+ * Value in the Google Product Specification
659
+ */
660
+ value?: 'regular' | 'petite' | 'plus' | 'big and tall' | 'maternity';
661
+ [k: string]: unknown;
662
+ }[];
663
+ /**
664
+ * Which country's sizing system your product uses
665
+ */
666
+ size_system?: {
667
+ /**
668
+ * Text displayed for the client describing the attribute
669
+ */
670
+ text: string;
671
+ /**
672
+ * Text translations for internationalization
673
+ */
674
+ i18n?: {
675
+ /**
676
+ * Language specific text fields
677
+ *
678
+ * This interface was referenced by `undefined`'s JSON-Schema definition
679
+ * via the `patternProperty` "^[a-z]{2}(_[a-z]{2})?$".
680
+ */
681
+ [k: string]: {
682
+ /**
683
+ * Text displayed for the client describing the attribute
684
+ */
685
+ text?: string;
686
+ };
687
+ };
688
+ /**
689
+ * Value in the Google Product Specification
690
+ */
691
+ value?: 'AU' | 'BR' | 'CN' | 'DE' | 'EU' | 'FR' | 'IT' | 'JP' | 'MEX' | 'UK' | 'US';
692
+ [k: string]: unknown;
693
+ }[];
694
+ /**
695
+ * Product color palette, list ordered by importance, starting by main color
696
+ */
697
+ colors?: {
698
+ /**
699
+ * Color name
700
+ */
701
+ text: string;
702
+ /**
703
+ * Text translations for internationalization
704
+ */
705
+ i18n?: {
706
+ /**
707
+ * Language specific text fields
708
+ *
709
+ * This interface was referenced by `undefined`'s JSON-Schema definition
710
+ * via the `patternProperty` "^[a-z]{2}(_[a-z]{2})?$".
711
+ */
712
+ [k: string]: {
713
+ /**
714
+ * Color name
715
+ */
716
+ text?: string;
717
+ };
718
+ };
719
+ /**
720
+ * RGB code with #
721
+ */
722
+ value?: string;
723
+ }[];
724
+ /**
725
+ * Custom product attributes, grid as property name (such as 'Model' and 'Voltage')
726
+ *
727
+ * This interface was referenced by `undefined`'s JSON-Schema definition
728
+ * via the `patternProperty` "^.{2,70}$".
729
+ */
730
+ [k: string]: {
731
+ /**
732
+ * Text displayed for the client describing the specification
733
+ */
734
+ text: string;
735
+ /**
736
+ * Text translations for internationalization
737
+ */
738
+ i18n?: {
739
+ /**
740
+ * Language specific text fields
741
+ *
742
+ * This interface was referenced by `undefined`'s JSON-Schema definition
743
+ * via the `patternProperty` "^[a-z]{2}(_[a-z]{2})?$".
744
+ */
745
+ [k: string]: {
746
+ /**
747
+ * Text displayed for the client describing the specification
748
+ */
749
+ text?: string;
750
+ };
751
+ };
752
+ /**
753
+ * Default normalized value to use in integrations
754
+ */
755
+ value?: string;
756
+ /**
757
+ * Normalized values to use in specific integrations
758
+ */
759
+ external_values?: {
760
+ /**
761
+ * Attribute text external value
762
+ *
763
+ * This interface was referenced by `undefined`'s JSON-Schema definition
764
+ * via the `patternProperty` "^[a-z0-9_]{2,50}$".
765
+ */
766
+ [k: string]: string;
767
+ };
768
+ }[];
769
+ };
770
+ /**
771
+ * List of product images
772
+ */
773
+ pictures?: (
774
+ | {
775
+ [k: string]: unknown;
776
+ }
777
+ | {
778
+ [k: string]: unknown;
779
+ }
780
+ | {
781
+ [k: string]: unknown;
782
+ }
783
+ )[];
784
+ /**
785
+ * List of videos related to your product
786
+ */
787
+ videos?: {
788
+ /**
789
+ * Video link
790
+ */
791
+ url: string;
792
+ /**
793
+ * Title describing the video
794
+ */
795
+ title?: string;
796
+ }[];
797
+ /**
798
+ * List of product customization fields
799
+ */
800
+ customizations?: (
801
+ | {
802
+ [k: string]: unknown;
803
+ }
804
+ | {
805
+ [k: string]: unknown;
806
+ }
807
+ )[];
808
+ /**
809
+ * Product variations list
810
+ */
811
+ variations?: {
812
+ /**
813
+ * Variation ID (ObjectID) [auto]
814
+ */
815
+ _id?: string;
816
+ /**
817
+ * Item unique reference code
818
+ */
819
+ sku?: string;
820
+ /**
821
+ * Product name for this specific variation
822
+ */
823
+ name?: string;
824
+ /**
825
+ * Text translations for internationalization
826
+ */
827
+ i18n?: {
828
+ /**
829
+ * Language specific text fields
830
+ *
831
+ * This interface was referenced by `undefined`'s JSON-Schema definition
832
+ * via the `patternProperty` "^[a-z]{2}(_[a-z]{2})?$".
833
+ */
834
+ [k: string]: {
835
+ /**
836
+ * Product name for this specific variation
837
+ */
838
+ name?: string;
839
+ };
840
+ };
841
+ /**
842
+ * Global Trade Item Numbers (barcode number): UPC, EAN, JAN, ISBN, ITF-14
843
+ */
844
+ gtin?: string;
845
+ /**
846
+ * Unique code specified by manufacturer to identify the product
847
+ */
848
+ mpn?: string;
849
+ /**
850
+ * List of product NCM codes
851
+ */
852
+ ncm?: string[];
853
+ /**
854
+ * Variation sale price, when undefined, product default price should be used
855
+ */
856
+ price?: number;
857
+ /**
858
+ * Variation original sale price, without discounts
859
+ */
860
+ base_price?: number;
861
+ /**
862
+ * Variation cost price to calculate profit
863
+ */
864
+ cost_price?: number;
865
+ /**
866
+ * Product quantity available to sell, max to put in cart
867
+ */
868
+ quantity?: number;
869
+ /**
870
+ * Minimum quantity to put in cart
871
+ */
872
+ min_quantity?: number;
873
+ /**
874
+ * Warehouses by code and respective variation stock
875
+ */
876
+ inventory?: {
877
+ /**
878
+ * Variation quantity available for sale from current warehouse
879
+ *
880
+ * This interface was referenced by `undefined`'s JSON-Schema definition
881
+ * via the `patternProperty` "^[A-Za-z0-9-_]{2,30}$".
882
+ */
883
+ [k: string]: number;
884
+ };
885
+ /**
886
+ * Deadline for production or handling of pre-ordered product
887
+ */
888
+ production_time?: {
889
+ /**
890
+ * Number of days to post after purchase, deadline for production or handling
891
+ */
892
+ days: number;
893
+ /**
894
+ * If the deadline is calculated in working days
895
+ */
896
+ working_days?: boolean;
897
+ /**
898
+ * If the production time is cumulative per unit
899
+ */
900
+ cumulative?: boolean;
901
+ /**
902
+ * When cumulative, increase up to this maximum in days
903
+ */
904
+ max_time?: number;
905
+ };
906
+ /**
907
+ * Product dimensions with packaging for freight calculation
908
+ */
909
+ dimensions?: {
910
+ /**
911
+ * Package width, height and length
912
+ *
913
+ * This interface was referenced by `undefined`'s JSON-Schema definition
914
+ * via the `patternProperty` "^width|height|length$".
915
+ */
916
+ [k: string]: {
917
+ /**
918
+ * Size in specified unit
919
+ */
920
+ value: number;
921
+ /**
922
+ * Unit of measurement
923
+ */
924
+ unit?: 'mm' | 'cm' | 'm' | 'ft' | 'in' | 'yd' | 'mi';
925
+ };
926
+ };
927
+ /**
928
+ * Package weight for freight calculation
929
+ */
930
+ weight?: {
931
+ /**
932
+ * Size in specified unit
933
+ */
934
+ value: number;
935
+ /**
936
+ * Unit of measurement
937
+ */
938
+ unit?: 'mg' | 'g' | 'kg' | 'lb' | 'oz';
939
+ };
940
+ /**
941
+ * Variation attributes and technical specifications
942
+ */
943
+ specifications: {
944
+ /**
945
+ * Attribute to describe the main fabric or material that your product is made of
946
+ */
947
+ material?: {
948
+ /**
949
+ * Text displayed for the client describing the attribute
950
+ */
951
+ text: string;
952
+ /**
953
+ * Text translations for internationalization
954
+ */
955
+ i18n?: {
956
+ /**
957
+ * Language specific text fields
958
+ *
959
+ * This interface was referenced by `undefined`'s JSON-Schema definition
960
+ * via the `patternProperty` "^[a-z]{2}(_[a-z]{2})?$".
961
+ */
962
+ [k: string]: {
963
+ /**
964
+ * Text displayed for the client describing the attribute
965
+ */
966
+ text?: string;
967
+ };
968
+ };
969
+ /**
970
+ * Default normalized value to use on GMC and other integrations
971
+ */
972
+ value?: string;
973
+ [k: string]: unknown;
974
+ }[];
975
+ /**
976
+ * Attribute to describe the pattern or graphic printed on your product
977
+ */
978
+ pattern?: {
979
+ /**
980
+ * Text displayed for the client describing the attribute
981
+ */
982
+ text: string;
983
+ /**
984
+ * Text translations for internationalization
985
+ */
986
+ i18n?: {
987
+ /**
988
+ * Language specific text fields
989
+ *
990
+ * This interface was referenced by `undefined`'s JSON-Schema definition
991
+ * via the `patternProperty` "^[a-z]{2}(_[a-z]{2})?$".
992
+ */
993
+ [k: string]: {
994
+ /**
995
+ * Text displayed for the client describing the attribute
996
+ */
997
+ text?: string;
998
+ };
999
+ };
1000
+ /**
1001
+ * Default normalized value to use on GMC and other integrations
1002
+ */
1003
+ value?: string;
1004
+ [k: string]: unknown;
1005
+ }[];
1006
+ /**
1007
+ * Attribute to describe the standardized size of your product
1008
+ */
1009
+ size?: {
1010
+ /**
1011
+ * Text displayed for the client describing the attribute
1012
+ */
1013
+ text: string;
1014
+ /**
1015
+ * Text translations for internationalization
1016
+ */
1017
+ i18n?: {
1018
+ /**
1019
+ * Language specific text fields
1020
+ *
1021
+ * This interface was referenced by `undefined`'s JSON-Schema definition
1022
+ * via the `patternProperty` "^[a-z]{2}(_[a-z]{2})?$".
1023
+ */
1024
+ [k: string]: {
1025
+ /**
1026
+ * Text displayed for the client describing the attribute
1027
+ */
1028
+ text?: string;
1029
+ };
1030
+ };
1031
+ /**
1032
+ * Default normalized value to use on GMC and other integrations
1033
+ */
1034
+ value?: string;
1035
+ [k: string]: unknown;
1036
+ }[];
1037
+ /**
1038
+ * Variation color palette, list ordered by importance, starting by main color
1039
+ */
1040
+ colors?: {
1041
+ /**
1042
+ * Color name
1043
+ */
1044
+ text: string;
1045
+ /**
1046
+ * Text translations for internationalization
1047
+ */
1048
+ i18n?: {
1049
+ /**
1050
+ * Language specific text fields
1051
+ *
1052
+ * This interface was referenced by `undefined`'s JSON-Schema definition
1053
+ * via the `patternProperty` "^[a-z]{2}(_[a-z]{2})?$".
1054
+ */
1055
+ [k: string]: {
1056
+ /**
1057
+ * Color name
1058
+ */
1059
+ text?: string;
1060
+ };
1061
+ };
1062
+ /**
1063
+ * RGB code with #
1064
+ */
1065
+ value?: string;
1066
+ }[];
1067
+ /**
1068
+ * Custom variation attributes, grid as property name (such as 'Model' and 'Voltage')
1069
+ *
1070
+ * This interface was referenced by `undefined`'s JSON-Schema definition
1071
+ * via the `patternProperty` "^.{2,70}$".
1072
+ */
1073
+ [k: string]: {
1074
+ /**
1075
+ * Text displayed for the client describing the specification
1076
+ */
1077
+ text: string;
1078
+ /**
1079
+ * Text translations for internationalization
1080
+ */
1081
+ i18n?: {
1082
+ /**
1083
+ * Language specific text fields
1084
+ *
1085
+ * This interface was referenced by `undefined`'s JSON-Schema definition
1086
+ * via the `patternProperty` "^[a-z]{2}(_[a-z]{2})?$".
1087
+ */
1088
+ [k: string]: {
1089
+ /**
1090
+ * Text displayed for the client describing the specification
1091
+ */
1092
+ text?: string;
1093
+ };
1094
+ };
1095
+ /**
1096
+ * Default normalized value to use in integrations
1097
+ */
1098
+ value?: string;
1099
+ /**
1100
+ * Normalized values to use in specific integrations
1101
+ */
1102
+ external_values?: {
1103
+ /**
1104
+ * Attribute text external value
1105
+ *
1106
+ * This interface was referenced by `undefined`'s JSON-Schema definition
1107
+ * via the `patternProperty` "^[a-z0-9_]{2,50}$".
1108
+ */
1109
+ [k: string]: string;
1110
+ };
1111
+ }[];
1112
+ };
1113
+ /**
1114
+ * ID of one of the preferred product picture for this variation
1115
+ */
1116
+ picture_id?: string;
1117
+ /**
1118
+ * Flags to associate additional info
1119
+ */
1120
+ flags?: string[];
1121
+ }[];
1122
+ /**
1123
+ * If this product is a kit, set its composition
1124
+ */
1125
+ kit_composition?: {
1126
+ /**
1127
+ * Product ID (ObjectID)
1128
+ */
1129
+ _id: string;
1130
+ /**
1131
+ * Product quantity
1132
+ */
1133
+ quantity?: number;
1134
+ /**
1135
+ * Label shown to customer, if you want to use a title other than the product name
1136
+ */
1137
+ label?: string;
1138
+ /**
1139
+ * Text translations for internationalization
1140
+ */
1141
+ i18n?: {
1142
+ /**
1143
+ * Language specific text fields
1144
+ *
1145
+ * This interface was referenced by `undefined`'s JSON-Schema definition
1146
+ * via the `patternProperty` "^[a-z]{2}(_[a-z]{2})?$".
1147
+ */
1148
+ [k: string]: {
1149
+ /**
1150
+ * Label shown to customer, if you want to use a title other than the product name
1151
+ */
1152
+ label?: string;
1153
+ };
1154
+ };
1155
+ /**
1156
+ * If this product has variations
1157
+ */
1158
+ has_variations?: boolean;
1159
+ /**
1160
+ * Optional variation ID (ObjectID) if `has_variations` is true
1161
+ */
1162
+ variation_id?: string;
1163
+ }[];
1164
+ /**
1165
+ * Parent product ID, if this product is contained or represented by another
1166
+ */
1167
+ parent_item_id?: string;
1168
+ /**
1169
+ * Lists of related products
1170
+ */
1171
+ related_products?: {
1172
+ /**
1173
+ * Title describing the video
1174
+ */
1175
+ title?: string;
1176
+ /**
1177
+ * Unit of measurement
1178
+ */
1179
+ relation_type?: 'common_characteristics' | 'common_orders' | 'manual' | 'other';
1180
+ /**
1181
+ * List of products
1182
+ */
1183
+ product_ids: string[];
1184
+ /**
1185
+ * Tag to identify object, use only lowercase letters, digits and underscore
1186
+ */
1187
+ tag?: string;
1188
+ }[];
1189
+ /**
1190
+ * True when related products lists should be created and updated automatically (ML)
1191
+ */
1192
+ auto_fill_related_products?: boolean;
1193
+ /**
1194
+ * Product popularity, will be filled automatically
1195
+ */
1196
+ views?: number;
1197
+ /**
1198
+ * On how many orders this product is present, filled automatically
1199
+ */
1200
+ sales?: number;
1201
+ /**
1202
+ * Total amount earned with sales of this product, filled automatically
1203
+ */
1204
+ total_sold?: number;
1205
+ /**
1206
+ * List of product GTIN codes
1207
+ */
1208
+ gtin?: string[];
1209
+ /**
1210
+ * List of product MPN codes
1211
+ */
1212
+ mpn?: string[];
1213
+ /**
1214
+ * List of product NCM codes
1215
+ */
1216
+ ncm?: string[];
1217
+ /**
1218
+ * Whether the product is sold by a third party, usual in marketplaces
1219
+ */
1220
+ seller?: {
1221
+ /**
1222
+ * Unique reference code to identify this seller
1223
+ */
1224
+ code?: string;
1225
+ /**
1226
+ * Seller name
1227
+ */
1228
+ name?: string;
1229
+ /**
1230
+ * Image link to seller's logo
1231
+ */
1232
+ logo_url?: string;
1233
+ /**
1234
+ * Short description of seller
1235
+ */
1236
+ description?: string;
1237
+ };
1238
+ /**
1239
+ * List of custom attributes
1240
+ */
1241
+ metafields?: {
1242
+ /**
1243
+ * String to help distinguish who (or which app) created and can use the metafield
1244
+ */
1245
+ namespace?: string;
1246
+ /**
1247
+ * Field name
1248
+ */
1249
+ field?: string;
1250
+ /**
1251
+ * Custom property value
1252
+ */
1253
+ value: {
1254
+ [k: string]: unknown;
1255
+ };
1256
+ }[];
1257
+ /**
1258
+ * List of custom attributes
1259
+ */
1260
+ hidden_metafields?: {
1261
+ /**
1262
+ * String to help distinguish who (or which app) created and can use the metafield
1263
+ */
1264
+ namespace?: string;
1265
+ /**
1266
+ * Field name
1267
+ */
1268
+ field?: string;
1269
+ /**
1270
+ * Custom property value
1271
+ */
1272
+ value: {
1273
+ [k: string]: unknown;
1274
+ };
1275
+ }[];
1276
+ /**
1277
+ * Flags to associate additional info
1278
+ */
1279
+ flags?: string[];
1280
+ /**
1281
+ * Optional notes with additional info about this product
1282
+ */
1283
+ notes?: string;
1284
+ }