@wix/agent-skills 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 (220) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +111 -0
  3. package/package.json +29 -0
  4. package/skills/wix-app/SKILL.md +344 -0
  5. package/skills/wix-app/references/APP_IDENTIFIERS.md +35 -0
  6. package/skills/wix-app/references/APP_MARKET_REVIEW.md +311 -0
  7. package/skills/wix-app/references/APP_VALIDATION.md +171 -0
  8. package/skills/wix-app/references/BACKEND_API.md +233 -0
  9. package/skills/wix-app/references/BACKEND_EVENT.md +116 -0
  10. package/skills/wix-app/references/CODE_QUALITY.md +33 -0
  11. package/skills/wix-app/references/CUSTOM_ELEMENT_WIDGET.md +587 -0
  12. package/skills/wix-app/references/DASHBOARD_MENU_PLUGIN.md +157 -0
  13. package/skills/wix-app/references/DASHBOARD_MODAL.md +283 -0
  14. package/skills/wix-app/references/DASHBOARD_PAGE.md +403 -0
  15. package/skills/wix-app/references/DASHBOARD_PLUGIN.md +205 -0
  16. package/skills/wix-app/references/DATA_COLLECTION.md +451 -0
  17. package/skills/wix-app/references/DOCUMENTATION.md +42 -0
  18. package/skills/wix-app/references/EDITOR_REACT_COMPONENT.md +65 -0
  19. package/skills/wix-app/references/EMBEDDED_SCRIPT.md +468 -0
  20. package/skills/wix-app/references/EXTENSION_REGISTRATION.md +96 -0
  21. package/skills/wix-app/references/SERVICE_PLUGIN.md +235 -0
  22. package/skills/wix-app/references/SITE_PLUGIN.md +436 -0
  23. package/skills/wix-app/references/STORES_VERSIONING.md +334 -0
  24. package/skills/wix-app/references/backend-event/COMMON-EVENTS.md +84 -0
  25. package/skills/wix-app/references/custom-element-widget/SETTINGS_PANEL.md +345 -0
  26. package/skills/wix-app/references/dashboard-menu-plugin/blog-slots.md +71 -0
  27. package/skills/wix-app/references/dashboard-menu-plugin/bookings-slots.md +58 -0
  28. package/skills/wix-app/references/dashboard-menu-plugin/crm-slots.md +8 -0
  29. package/skills/wix-app/references/dashboard-menu-plugin/ecommerce-slots.md +17 -0
  30. package/skills/wix-app/references/dashboard-menu-plugin/events-slots.md +29 -0
  31. package/skills/wix-app/references/dashboard-menu-plugin/restaurants-slots.md +27 -0
  32. package/skills/wix-app/references/dashboard-menu-plugin/stores-slots.md +35 -0
  33. package/skills/wix-app/references/dashboard-page/API_SPEC.md +138 -0
  34. package/skills/wix-app/references/dashboard-page/DASHBOARD_API.md +573 -0
  35. package/skills/wix-app/references/dashboard-page/DYNAMIC_PARAMETERS.md +269 -0
  36. package/skills/wix-app/references/dashboard-page/ECOM_NAVIGATION.md +164 -0
  37. package/skills/wix-app/references/dashboard-plugin/SLOTS.md +294 -0
  38. package/skills/wix-app/references/data-collection/WIX_DATA.md +270 -0
  39. package/skills/wix-app/references/data-collection/extension-template.ts +107 -0
  40. package/skills/wix-app/references/editor-react-component/ACCESSIBILITY.md +138 -0
  41. package/skills/wix-app/references/editor-react-component/COMPONENT-API.md +454 -0
  42. package/skills/wix-app/references/editor-react-component/COMPONENT-CONFIGURATION.md +165 -0
  43. package/skills/wix-app/references/editor-react-component/CSS-GUIDELINES.md +576 -0
  44. package/skills/wix-app/references/editor-react-component/DIRECTIONALITY.md +170 -0
  45. package/skills/wix-app/references/editor-react-component/EDIT-FLOW.md +6 -0
  46. package/skills/wix-app/references/editor-react-component/PARTS.md +25 -0
  47. package/skills/wix-app/references/editor-react-component/PROPS-VS-CSS.md +203 -0
  48. package/skills/wix-app/references/editor-react-component/REACT-GUIDELINES.md +167 -0
  49. package/skills/wix-app/references/editor-react-component/REACT-PATTERNS.md +137 -0
  50. package/skills/wix-app/references/service-plugin/ADDITIONAL-FEES.md +112 -0
  51. package/skills/wix-app/references/service-plugin/BOOKINGS-STAFF-SORTING.md +118 -0
  52. package/skills/wix-app/references/service-plugin/DISCOUNT-TRIGGERS.md +87 -0
  53. package/skills/wix-app/references/service-plugin/GIFT-CARDS.md +86 -0
  54. package/skills/wix-app/references/service-plugin/PAYMENT-SETTINGS.md +135 -0
  55. package/skills/wix-app/references/service-plugin/SHIPPING-RATES.md +79 -0
  56. package/skills/wix-app/references/service-plugin/VALIDATIONS.md +68 -0
  57. package/skills/wix-app/references/site-plugin/EXAMPLES.md +311 -0
  58. package/skills/wix-app/references/site-plugin/SLOTS.md +263 -0
  59. package/skills/wix-design-system/SKILL.md +129 -0
  60. package/skills/wix-design-system/references/file-structure.md +56 -0
  61. package/skills/wix-design-system/scripts/wds.cjs +531 -0
  62. package/skills/wix-headless/SKILL.md +418 -0
  63. package/skills/wix-headless/references/DISCOVERY.md +332 -0
  64. package/skills/wix-headless/references/ORCHESTRATION.md +269 -0
  65. package/skills/wix-headless/references/SETUP.md +154 -0
  66. package/skills/wix-headless/references/blog/BLOG_CONTENT.md +152 -0
  67. package/skills/wix-headless/references/blog/BLOG_PAGES.md +299 -0
  68. package/skills/wix-headless/references/blog/BLOG_SETUP.md +218 -0
  69. package/skills/wix-headless/references/blog/INSTRUCTIONS.md +32 -0
  70. package/skills/wix-headless/references/cms/CMS_FOUNDATIONS.md +373 -0
  71. package/skills/wix-headless/references/cms/FAQ_KNOWLEDGE_BASE.md +229 -0
  72. package/skills/wix-headless/references/cms/INSTRUCTIONS.md +40 -0
  73. package/skills/wix-headless/references/cms/PORTFOLIO.md +454 -0
  74. package/skills/wix-headless/references/cms/RESOURCE_LIBRARY.md +356 -0
  75. package/skills/wix-headless/references/cms/TEAM_DIRECTORY.md +299 -0
  76. package/skills/wix-headless/references/commands/install-app.md +42 -0
  77. package/skills/wix-headless/references/commands/known-apps.json +5 -0
  78. package/skills/wix-headless/references/commands/mcp-bootstrap.md +28 -0
  79. package/skills/wix-headless/references/designer/INSTRUCTIONS.md +828 -0
  80. package/skills/wix-headless/references/ecom/CART_PAGES.md +120 -0
  81. package/skills/wix-headless/references/ecom/CART_WIRING.md +103 -0
  82. package/skills/wix-headless/references/ecom/COMPONENTS_CSS.md +132 -0
  83. package/skills/wix-headless/references/ecom/INSTRUCTIONS.md +59 -0
  84. package/skills/wix-headless/references/forms/CONTACT_FORM.md +477 -0
  85. package/skills/wix-headless/references/forms/INSTRUCTIONS.md +43 -0
  86. package/skills/wix-headless/references/gift-cards/COMPONENTS.md +119 -0
  87. package/skills/wix-headless/references/gift-cards/INSTRUCTIONS.md +51 -0
  88. package/skills/wix-headless/references/gift-cards/PAGES.md +129 -0
  89. package/skills/wix-headless/references/images/INSTRUCTIONS.md +359 -0
  90. package/skills/wix-headless/references/shared/BUILD_NOISE.md +8 -0
  91. package/skills/wix-headless/references/shared/IMAGE_GENERATION.md +185 -0
  92. package/skills/wix-headless/references/shared/IMPLEMENTER.md +155 -0
  93. package/skills/wix-headless/references/shared/MCP_PREFIX.md +105 -0
  94. package/skills/wix-headless/references/shared/PRODUCTION_SHARP_EDGES.md +97 -0
  95. package/skills/wix-headless/references/shared/RETURN_CONTRACT.md +423 -0
  96. package/skills/wix-headless/references/shared/STYLING.md +117 -0
  97. package/skills/wix-headless/references/stores/BACK_IN_STOCK.md +178 -0
  98. package/skills/wix-headless/references/stores/CATEGORY_PAGES.md +86 -0
  99. package/skills/wix-headless/references/stores/COMPONENTS_CSS.md +129 -0
  100. package/skills/wix-headless/references/stores/HOME_AND_NAV.md +227 -0
  101. package/skills/wix-headless/references/stores/INSTRUCTIONS.md +96 -0
  102. package/skills/wix-headless/references/stores/PRODUCT_CATALOG_DATA.md +249 -0
  103. package/skills/wix-headless/references/stores/PRODUCT_PAGES.md +213 -0
  104. package/skills/wix-headless/references/stores/SHARED_WIRING.md +164 -0
  105. package/skills/wix-headless/references/verticals/_schema.json +160 -0
  106. package/skills/wix-headless/references/verticals/_schema.md +185 -0
  107. package/skills/wix-headless/references/verticals/blog.md +125 -0
  108. package/skills/wix-headless/references/verticals/cms.md +121 -0
  109. package/skills/wix-headless/references/verticals/ecom.md +96 -0
  110. package/skills/wix-headless/references/verticals/forms.md +106 -0
  111. package/skills/wix-headless/references/verticals/gift-cards.md +121 -0
  112. package/skills/wix-headless/references/verticals/stores.md +167 -0
  113. package/skills/wix-headless/scripts/check-manifest.mjs +198 -0
  114. package/skills/wix-headless/scripts/copy-utility-templates.mjs +153 -0
  115. package/skills/wix-headless/scripts/emit-design-tokens.mjs +77 -0
  116. package/skills/wix-headless/scripts/finalize-run-json.mjs +141 -0
  117. package/skills/wix-headless/scripts/init-site-json.mjs +63 -0
  118. package/skills/wix-headless/scripts/patch-decorative-slots.mjs +124 -0
  119. package/skills/wix-headless/scripts/plan-entity-image-waves.mjs +190 -0
  120. package/skills/wix-headless/scripts/preview.sh +45 -0
  121. package/skills/wix-headless/scripts/release.sh +73 -0
  122. package/skills/wix-headless/scripts/scaffold.sh +53 -0
  123. package/skills/wix-headless/scripts/seed-utilities.sh +55 -0
  124. package/skills/wix-headless/shared-utilities/analytics.ts +40 -0
  125. package/skills/wix-headless/shared-utilities/ricos.ts +179 -0
  126. package/skills/wix-headless/shared-utilities/wix-image.ts +72 -0
  127. package/skills/wix-headless/templates/ecom/CartBadge.tsx +84 -0
  128. package/skills/wix-headless/templates/ecom/CartView.tsx +543 -0
  129. package/skills/wix-headless/templates/ecom/cart.astro +13 -0
  130. package/skills/wix-headless/templates/ecom/components-ecom.css +215 -0
  131. package/skills/wix-headless/templates/ecom/discounts.ts +71 -0
  132. package/skills/wix-headless/templates/ecom/thank-you.astro +24 -0
  133. package/skills/wix-headless/templates/gift-cards/GiftCardPurchase.tsx +172 -0
  134. package/skills/wix-headless/templates/gift-cards/_home-teaser-snippet.astro +42 -0
  135. package/skills/wix-headless/templates/gift-cards/_nav-snippet.astro +11 -0
  136. package/skills/wix-headless/templates/gift-cards/components-gift-cards.css +219 -0
  137. package/skills/wix-headless/templates/gift-cards/gift-cards.astro +51 -0
  138. package/skills/wix-headless/templates/gift-cards/gift-cards.ts +75 -0
  139. package/skills/wix-headless/templates/stores/AddToCartButton.tsx +77 -0
  140. package/skills/wix-headless/templates/stores/BackInStockForm.tsx +176 -0
  141. package/skills/wix-headless/templates/stores/CategoryRail.astro +69 -0
  142. package/skills/wix-headless/templates/stores/ProductCard.astro +79 -0
  143. package/skills/wix-headless/templates/stores/ProductPurchase.tsx +397 -0
  144. package/skills/wix-headless/templates/stores/SeoTags.astro +21 -0
  145. package/skills/wix-headless/templates/stores/back-in-stock.ts +67 -0
  146. package/skills/wix-headless/templates/stores/categories.ts +155 -0
  147. package/skills/wix-headless/templates/stores/category/[slug].astro +130 -0
  148. package/skills/wix-headless/templates/stores/components-stores.css +295 -0
  149. package/skills/wix-headless/templates/stores/products/[slug].astro +128 -0
  150. package/skills/wix-headless/templates/stores/products/index.astro +101 -0
  151. package/skills/wix-manage/SKILL.md +280 -0
  152. package/skills/wix-manage/references/app-installation/install-wix-apps.md +155 -0
  153. package/skills/wix-manage/references/app-installation/list-installed-apps.md +124 -0
  154. package/skills/wix-manage/references/blog/how-to-create-blog-posts.md +226 -0
  155. package/skills/wix-manage/references/bookings/booking-service-policy-setup.md +95 -0
  156. package/skills/wix-manage/references/bookings/booking-system-integration-gaps.md +416 -0
  157. package/skills/wix-manage/references/bookings/bookings-staff-setup.md +255 -0
  158. package/skills/wix-manage/references/bookings/create-and-update-booking-services.md +462 -0
  159. package/skills/wix-manage/references/bookings/end-to-end-booking-flow.md +278 -0
  160. package/skills/wix-manage/references/bookings/external-calendar-integration.md +258 -0
  161. package/skills/wix-manage/references/bookings/multi-resource-service-creation.md +231 -0
  162. package/skills/wix-manage/references/calendar/configure-default-business-hours.md +226 -0
  163. package/skills/wix-manage/references/cms/cms-data-items-crud.md +422 -0
  164. package/skills/wix-manage/references/cms/cms-data-operations-extended.md +263 -0
  165. package/skills/wix-manage/references/cms/cms-ecommerce-catalog-integration.md +136 -0
  166. package/skills/wix-manage/references/cms/cms-references-and-relationships.md +160 -0
  167. package/skills/wix-manage/references/cms/cms-schema-management.md +143 -0
  168. package/skills/wix-manage/references/contacts/bulk-delete-contacts.md +73 -0
  169. package/skills/wix-manage/references/contacts/bulk-label-and-unlabel-contacts.md +67 -0
  170. package/skills/wix-manage/references/domains/domain-search-and-purchase.md +434 -0
  171. package/skills/wix-manage/references/ecommerce/api-recommendation-tracking.md +420 -0
  172. package/skills/wix-manage/references/ecommerce/flow-add-free-shipping.md +267 -0
  173. package/skills/wix-manage/references/ecommerce/flow-bundle-and-save.md +290 -0
  174. package/skills/wix-manage/references/ecommerce/flow-fix-coverage-gaps.md +300 -0
  175. package/skills/wix-manage/references/ecommerce/flow-optimize-shipping-rates.md +364 -0
  176. package/skills/wix-manage/references/ecommerce/flow-seasonal-promotion.md +315 -0
  177. package/skills/wix-manage/references/ecommerce/flow-stock-mover.md +308 -0
  178. package/skills/wix-manage/references/ecommerce/flow-upsell-boost.md +271 -0
  179. package/skills/wix-manage/references/ecommerce/goal-clear-inventory.md +118 -0
  180. package/skills/wix-manage/references/ecommerce/goal-drive-cross-sells.md +122 -0
  181. package/skills/wix-manage/references/ecommerce/goal-increase-aov.md +132 -0
  182. package/skills/wix-manage/references/ecommerce/goal-reduce-cart-abandonment.md +148 -0
  183. package/skills/wix-manage/references/ecommerce/goal-seasonal-revenue.md +146 -0
  184. package/skills/wix-manage/references/ecommerce/guardrail-discount-conflicts.md +118 -0
  185. package/skills/wix-manage/references/ecommerce/guardrail-margin-protection.md +88 -0
  186. package/skills/wix-manage/references/ecommerce/guardrail-rate-pricing-sanity.md +108 -0
  187. package/skills/wix-manage/references/ecommerce/guardrail-shipping-health.md +124 -0
  188. package/skills/wix-manage/references/ecommerce/recipe-apply-shipping-recommendations.md +299 -0
  189. package/skills/wix-manage/references/ecommerce/recommend-ecommerce-strategy.md +582 -0
  190. package/skills/wix-manage/references/ecommerce/setup-coupons.md +338 -0
  191. package/skills/wix-manage/references/ecommerce/setup-discount-rules.md +444 -0
  192. package/skills/wix-manage/references/ecommerce/setup-shipping-rates.md +86 -0
  193. package/skills/wix-manage/references/ecommerce/setup-shipping-regions.md +56 -0
  194. package/skills/wix-manage/references/ecommerce/setup-store-pickup-location.md +209 -0
  195. package/skills/wix-manage/references/ecommerce/skill-graph.md +139 -0
  196. package/skills/wix-manage/references/ecommerce/troubleshoot-checkout-delivery-dropoff.md +124 -0
  197. package/skills/wix-manage/references/ecommerce/troubleshoot-discount-not-applying.md +95 -0
  198. package/skills/wix-manage/references/events/list-events.md +203 -0
  199. package/skills/wix-manage/references/forms/create-form.md +260 -0
  200. package/skills/wix-manage/references/get-paid/create-payment-links.md +212 -0
  201. package/skills/wix-manage/references/get-paid/how-to-setup-wix-payments.md +57 -0
  202. package/skills/wix-manage/references/get-paid/payment-links-for-bookings.md +101 -0
  203. package/skills/wix-manage/references/media/upload-media-to-wix.md +216 -0
  204. package/skills/wix-manage/references/pricing-plans/create-and-update-pricing-plans.md +77 -0
  205. package/skills/wix-manage/references/pricing-plans/pricing-plans-bookings-integration.md +166 -0
  206. package/skills/wix-manage/references/restaurants/wix-restaurants-setup.md +336 -0
  207. package/skills/wix-manage/references/rich-content/ricos-converter-service.md +295 -0
  208. package/skills/wix-manage/references/site-properties/change-payment-currency-site-properties.md +59 -0
  209. package/skills/wix-manage/references/sites/create-site-from-template.md +183 -0
  210. package/skills/wix-manage/references/sites/query-sites.md +125 -0
  211. package/skills/wix-manage/references/stores/add-store-pages-to-site.md +57 -0
  212. package/skills/wix-manage/references/stores/bulk-create-products-with-options.md +1041 -0
  213. package/skills/wix-manage/references/stores/create-product-catalog-v1.md +125 -0
  214. package/skills/wix-manage/references/stores/create-product-from-image.md +824 -0
  215. package/skills/wix-manage/references/stores/create-product-with-options-catalog-v3.md +566 -0
  216. package/skills/wix-manage/references/stores/find-products-query-and-search-catalog-v3.md +194 -0
  217. package/skills/wix-manage/references/stores/query-products-catalog-v1.md +80 -0
  218. package/skills/wix-manage/references/stores/setup-online-store-catalog-v3.md +99 -0
  219. package/skills/wix-manage/references/stores/update-product-pre-order.md +213 -0
  220. package/skills/wix-manage/references/stores/update-product-with-options.md +318 -0
@@ -0,0 +1,1041 @@
1
+ ---
2
+ name: "Bulk Create Products with Options (Catalog V3)"
3
+ description: Uses bulk products endpoint to create multiple products with inventory in a single request. Handles variant generation from options, media format requirements, and error handling for partial failures.
4
+ ---
5
+ # RECIPE: Business Recipe - Bulk Creating Wix Store Products with inventory and options
6
+
7
+ Learn how to create multiple Wix store products with customizable options like colors, sizes, or other variants in a single bulk operation, allowing efficient creation of product catalogs.
8
+
9
+ ---
10
+
11
+ ## ⚠️ CRITICAL REQUIREMENTS - READ FIRST
12
+
13
+ **API ENDPOINT:** `https://www.wixapis.com/stores/v3/bulk/products-with-inventory/create`
14
+
15
+ **MEDIA FORMAT - MUST INCLUDE BOTH SECTIONS:**
16
+
17
+ ```json
18
+ "media": {
19
+ "main": {
20
+ "url": "https://images.unsplash.com/photo-example?w=400&h=400&fit=crop&crop=center",
21
+ "altText": "Product Name - Main Product Image"
22
+ },
23
+ "itemsInfo": {
24
+ "items": [
25
+ {
26
+ "url": "https://images.unsplash.com/photo-example?w=400&h=400&fit=crop&crop=center",
27
+ "altText": "Product Name - Product View"
28
+ }
29
+ ]
30
+ }
31
+ }
32
+ ```
33
+
34
+ **VARIANTS:** The recipe shows ALL possible variant combinations (Cartesian product) with 3 visible variants per product. Each product has 6 total variants: 3 visible + 3 hidden for future use.
35
+
36
+ **❌ COMMON FAILURES:**
37
+
38
+ * Missing `itemsInfo` section in media (media won't work)
39
+ * Missing URL parameters `?w=400&h=400&fit=crop&crop=center`
40
+
41
+ ## Article: Steps for Bulk Creating Wix Store Products with Options
42
+
43
+ ## STEP 1: bulk create products with options and variants
44
+
45
+ 1. bulk create products with options and create variants for them - Wix REST API: [Bulk Create Products With Inventory](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/bulk-create-products-with-inventory) **CRITICAL: USE THIS WORKING EXAMPLE - if more products are required copy the same format exactly to create more**
46
+
47
+ ```bash
48
+ curl -X POST "https://www.wixapis.com/stores/v3/bulk/products-with-inventory/create" \
49
+ -H "Content-Type: application/json" \
50
+ -H "Authorization: <AUTH>" \
51
+ -d '{
52
+ "products": [
53
+ {
54
+ "name": "Pro Basketball Sneaker",
55
+ "description": {
56
+ "nodes": [
57
+ {
58
+ "type": "PARAGRAPH",
59
+ "id": "desc1",
60
+ "nodes": [
61
+ {
62
+ "type": "TEXT",
63
+ "textData": {
64
+ "text": "High-performance basketball sneaker with superior ankle support and responsive court feel."
65
+ }
66
+ }
67
+ ],
68
+ "paragraphData": {
69
+ "textStyle": {
70
+ "textAlignment": "AUTO"
71
+ }
72
+ }
73
+ }
74
+ ],
75
+ "metadata": {
76
+ "version": 1,
77
+ "id": "basketball-desc-001"
78
+ }
79
+ },
80
+ "visible": true,
81
+ "visibleInPos": true,
82
+ "productType": "PHYSICAL",
83
+ "physicalProperties": {},
84
+ "media": {
85
+ "main": {
86
+ "url": "https://images.unsplash.com/photo-1542291026-7eec264c27ff?w=400&h=400&fit=crop&crop=center",
87
+ "altText": "Pro Basketball Sneaker - Main Product Image"
88
+ },
89
+ "itemsInfo": {
90
+ "items": [
91
+ {
92
+ "url": "https://images.unsplash.com/photo-1542291026-7eec264c27ff?w=400&h=400&fit=crop&crop=center",
93
+ "altText": "Pro Basketball Sneaker - Product View"
94
+ }
95
+ ]
96
+ }
97
+ },
98
+ "options": [
99
+ {
100
+ "name": "Size",
101
+ "optionRenderType": "TEXT_CHOICES",
102
+ "choicesSettings": {
103
+ "choices": [
104
+ {
105
+ "choiceType": "CHOICE_TEXT",
106
+ "name": "8"
107
+ },
108
+ {
109
+ "choiceType": "CHOICE_TEXT",
110
+ "name": "9"
111
+ },
112
+ {
113
+ "choiceType": "CHOICE_TEXT",
114
+ "name": "10"
115
+ }
116
+ ]
117
+ }
118
+ },
119
+ {
120
+ "name": "Color",
121
+ "optionRenderType": "SWATCH_CHOICES",
122
+ "choicesSettings": {
123
+ "choices": [
124
+ {
125
+ "choiceType": "ONE_COLOR",
126
+ "name": "Red",
127
+ "colorCode": "#FF0000"
128
+ },
129
+ {
130
+ "choiceType": "ONE_COLOR",
131
+ "name": "Blue",
132
+ "colorCode": "#0000FF"
133
+ }
134
+ ]
135
+ }
136
+ }
137
+ ],
138
+ "variantsInfo": {
139
+ "variants": [
140
+ {
141
+ "choices": [
142
+ {
143
+ "optionChoiceNames": {
144
+ "optionName": "Size",
145
+ "choiceName": "8",
146
+ "renderType": "TEXT_CHOICES"
147
+ }
148
+ },
149
+ {
150
+ "optionChoiceNames": {
151
+ "optionName": "Color",
152
+ "choiceName": "Red",
153
+ "renderType": "SWATCH_CHOICES"
154
+ }
155
+ }
156
+ ],
157
+ "price": {
158
+ "actualPrice": {
159
+ "amount": "159.99"
160
+ },
161
+ "compareAtPrice": {
162
+ "amount": "200.00"
163
+ }
164
+ },
165
+ "visible": true,
166
+ "inventoryItem": {
167
+ "quantity": 25,
168
+ "preorderInfo": {
169
+ "enabled": false
170
+ }
171
+ },
172
+ "physicalProperties": {}
173
+ },
174
+ {
175
+ "choices": [
176
+ {
177
+ "optionChoiceNames": {
178
+ "optionName": "Size",
179
+ "choiceName": "8",
180
+ "renderType": "TEXT_CHOICES"
181
+ }
182
+ },
183
+ {
184
+ "optionChoiceNames": {
185
+ "optionName": "Color",
186
+ "choiceName": "Blue",
187
+ "renderType": "SWATCH_CHOICES"
188
+ }
189
+ }
190
+ ],
191
+ "price": {
192
+ "actualPrice": {
193
+ "amount": "159.99"
194
+ },
195
+ "compareAtPrice": {
196
+ "amount": "200.00"
197
+ }
198
+ },
199
+ "visible": false,
200
+ "inventoryItem": {
201
+ "quantity": 25,
202
+ "preorderInfo": {
203
+ "enabled": false
204
+ }
205
+ },
206
+ "physicalProperties": {}
207
+ },
208
+ {
209
+ "choices": [
210
+ {
211
+ "optionChoiceNames": {
212
+ "optionName": "Size",
213
+ "choiceName": "9",
214
+ "renderType": "TEXT_CHOICES"
215
+ }
216
+ },
217
+ {
218
+ "optionChoiceNames": {
219
+ "optionName": "Color",
220
+ "choiceName": "Red",
221
+ "renderType": "SWATCH_CHOICES"
222
+ }
223
+ }
224
+ ],
225
+ "price": {
226
+ "actualPrice": {
227
+ "amount": "159.99"
228
+ },
229
+ "compareAtPrice": {
230
+ "amount": "200.00"
231
+ }
232
+ },
233
+ "visible": false,
234
+ "inventoryItem": {
235
+ "quantity": 30,
236
+ "preorderInfo": {
237
+ "enabled": false
238
+ }
239
+ },
240
+ "physicalProperties": {}
241
+ },
242
+ {
243
+ "choices": [
244
+ {
245
+ "optionChoiceNames": {
246
+ "optionName": "Size",
247
+ "choiceName": "9",
248
+ "renderType": "TEXT_CHOICES"
249
+ }
250
+ },
251
+ {
252
+ "optionChoiceNames": {
253
+ "optionName": "Color",
254
+ "choiceName": "Blue",
255
+ "renderType": "SWATCH_CHOICES"
256
+ }
257
+ }
258
+ ],
259
+ "price": {
260
+ "actualPrice": {
261
+ "amount": "159.99"
262
+ },
263
+ "compareAtPrice": {
264
+ "amount": "200.00"
265
+ }
266
+ },
267
+ "visible": true,
268
+ "inventoryItem": {
269
+ "quantity": 30,
270
+ "preorderInfo": {
271
+ "enabled": false
272
+ }
273
+ },
274
+ "physicalProperties": {}
275
+ },
276
+ {
277
+ "choices": [
278
+ {
279
+ "optionChoiceNames": {
280
+ "optionName": "Size",
281
+ "choiceName": "10",
282
+ "renderType": "TEXT_CHOICES"
283
+ }
284
+ },
285
+ {
286
+ "optionChoiceNames": {
287
+ "optionName": "Color",
288
+ "choiceName": "Red",
289
+ "renderType": "SWATCH_CHOICES"
290
+ }
291
+ }
292
+ ],
293
+ "price": {
294
+ "actualPrice": {
295
+ "amount": "159.99"
296
+ },
297
+ "compareAtPrice": {
298
+ "amount": "200.00"
299
+ }
300
+ },
301
+ "visible": true,
302
+ "inventoryItem": {
303
+ "quantity": 20,
304
+ "preorderInfo": {
305
+ "enabled": false
306
+ }
307
+ },
308
+ "physicalProperties": {}
309
+ },
310
+ {
311
+ "choices": [
312
+ {
313
+ "optionChoiceNames": {
314
+ "optionName": "Size",
315
+ "choiceName": "10",
316
+ "renderType": "TEXT_CHOICES"
317
+ }
318
+ },
319
+ {
320
+ "optionChoiceNames": {
321
+ "optionName": "Color",
322
+ "choiceName": "Blue",
323
+ "renderType": "SWATCH_CHOICES"
324
+ }
325
+ }
326
+ ],
327
+ "price": {
328
+ "actualPrice": {
329
+ "amount": "159.99"
330
+ },
331
+ "compareAtPrice": {
332
+ "amount": "200.00"
333
+ }
334
+ },
335
+ "visible": false,
336
+ "inventoryItem": {
337
+ "quantity": 20,
338
+ "preorderInfo": {
339
+ "enabled": false
340
+ }
341
+ },
342
+ "physicalProperties": {}
343
+ }
344
+ ]
345
+ }
346
+ },
347
+ {
348
+ "name": "Classic Canvas Shoes",
349
+ "description": {
350
+ "nodes": [
351
+ {
352
+ "type": "PARAGRAPH",
353
+ "id": "desc2",
354
+ "nodes": [
355
+ {
356
+ "type": "TEXT",
357
+ "textData": {
358
+ "text": "Timeless canvas shoes with durable construction and comfortable fit for everyday wear."
359
+ }
360
+ }
361
+ ],
362
+ "paragraphData": {
363
+ "textStyle": {
364
+ "textAlignment": "AUTO"
365
+ }
366
+ }
367
+ }
368
+ ],
369
+ "metadata": {
370
+ "version": 1,
371
+ "id": "canvas-desc-002"
372
+ }
373
+ },
374
+ "visible": true,
375
+ "visibleInPos": true,
376
+ "productType": "PHYSICAL",
377
+ "physicalProperties": {},
378
+ "media": {
379
+ "main": {
380
+ "url": "https://images.unsplash.com/photo-1560769629-975ec94e6a86?w=400&h=400&fit=crop&crop=center",
381
+ "altText": "Classic Canvas Shoes - Main Product Image"
382
+ },
383
+ "itemsInfo": {
384
+ "items": [
385
+ {
386
+ "url": "https://images.unsplash.com/photo-1560769629-975ec94e6a86?w=400&h=400&fit=crop&crop=center",
387
+ "altText": "Classic Canvas Shoes - Product View"
388
+ }
389
+ ]
390
+ }
391
+ },
392
+ "options": [
393
+ {
394
+ "name": "Size",
395
+ "optionRenderType": "TEXT_CHOICES",
396
+ "choicesSettings": {
397
+ "choices": [
398
+ {
399
+ "choiceType": "CHOICE_TEXT",
400
+ "name": "7"
401
+ },
402
+ {
403
+ "choiceType": "CHOICE_TEXT",
404
+ "name": "8"
405
+ },
406
+ {
407
+ "choiceType": "CHOICE_TEXT",
408
+ "name": "9"
409
+ }
410
+ ]
411
+ }
412
+ },
413
+ {
414
+ "name": "Color",
415
+ "optionRenderType": "SWATCH_CHOICES",
416
+ "choicesSettings": {
417
+ "choices": [
418
+ {
419
+ "choiceType": "ONE_COLOR",
420
+ "name": "White",
421
+ "colorCode": "#FFFFFF"
422
+ },
423
+ {
424
+ "choiceType": "ONE_COLOR",
425
+ "name": "Navy",
426
+ "colorCode": "#000080"
427
+ }
428
+ ]
429
+ }
430
+ }
431
+ ],
432
+ "variantsInfo": {
433
+ "variants": [
434
+ {
435
+ "choices": [
436
+ {
437
+ "optionChoiceNames": {
438
+ "optionName": "Size",
439
+ "choiceName": "7",
440
+ "renderType": "TEXT_CHOICES"
441
+ }
442
+ },
443
+ {
444
+ "optionChoiceNames": {
445
+ "optionName": "Color",
446
+ "choiceName": "White",
447
+ "renderType": "SWATCH_CHOICES"
448
+ }
449
+ }
450
+ ],
451
+ "price": {
452
+ "actualPrice": {
453
+ "amount": "89.99"
454
+ },
455
+ "compareAtPrice": {
456
+ "amount": "100.00"
457
+ }
458
+ },
459
+ "visible": true,
460
+ "inventoryItem": {
461
+ "quantity": 15,
462
+ "preorderInfo": {
463
+ "enabled": false
464
+ }
465
+ },
466
+ "physicalProperties": {}
467
+ },
468
+ {
469
+ "choices": [
470
+ {
471
+ "optionChoiceNames": {
472
+ "optionName": "Size",
473
+ "choiceName": "7",
474
+ "renderType": "TEXT_CHOICES"
475
+ }
476
+ },
477
+ {
478
+ "optionChoiceNames": {
479
+ "optionName": "Color",
480
+ "choiceName": "Navy",
481
+ "renderType": "SWATCH_CHOICES"
482
+ }
483
+ }
484
+ ],
485
+ "price": {
486
+ "actualPrice": {
487
+ "amount": "89.99"
488
+ },
489
+ "compareAtPrice": {
490
+ "amount": "100.00"
491
+ }
492
+ },
493
+ "visible": false,
494
+ "inventoryItem": {
495
+ "quantity": 15,
496
+ "preorderInfo": {
497
+ "enabled": false
498
+ }
499
+ },
500
+ "physicalProperties": {}
501
+ },
502
+ {
503
+ "choices": [
504
+ {
505
+ "optionChoiceNames": {
506
+ "optionName": "Size",
507
+ "choiceName": "8",
508
+ "renderType": "TEXT_CHOICES"
509
+ }
510
+ },
511
+ {
512
+ "optionChoiceNames": {
513
+ "optionName": "Color",
514
+ "choiceName": "White",
515
+ "renderType": "SWATCH_CHOICES"
516
+ }
517
+ }
518
+ ],
519
+ "price": {
520
+ "actualPrice": {
521
+ "amount": "89.99"
522
+ },
523
+ "compareAtPrice": {
524
+ "amount": "100.00"
525
+ }
526
+ },
527
+ "visible": false,
528
+ "inventoryItem": {
529
+ "quantity": 18,
530
+ "preorderInfo": {
531
+ "enabled": false
532
+ }
533
+ },
534
+ "physicalProperties": {}
535
+ },
536
+ {
537
+ "choices": [
538
+ {
539
+ "optionChoiceNames": {
540
+ "optionName": "Size",
541
+ "choiceName": "8",
542
+ "renderType": "TEXT_CHOICES"
543
+ }
544
+ },
545
+ {
546
+ "optionChoiceNames": {
547
+ "optionName": "Color",
548
+ "choiceName": "Navy",
549
+ "renderType": "SWATCH_CHOICES"
550
+ }
551
+ }
552
+ ],
553
+ "price": {
554
+ "actualPrice": {
555
+ "amount": "89.99"
556
+ },
557
+ "compareAtPrice": {
558
+ "amount": "100.00"
559
+ }
560
+ },
561
+ "visible": true,
562
+ "inventoryItem": {
563
+ "quantity": 18,
564
+ "preorderInfo": {
565
+ "enabled": false
566
+ }
567
+ },
568
+ "physicalProperties": {}
569
+ },
570
+ {
571
+ "choices": [
572
+ {
573
+ "optionChoiceNames": {
574
+ "optionName": "Size",
575
+ "choiceName": "9",
576
+ "renderType": "TEXT_CHOICES"
577
+ }
578
+ },
579
+ {
580
+ "optionChoiceNames": {
581
+ "optionName": "Color",
582
+ "choiceName": "White",
583
+ "renderType": "SWATCH_CHOICES"
584
+ }
585
+ }
586
+ ],
587
+ "price": {
588
+ "actualPrice": {
589
+ "amount": "89.99"
590
+ },
591
+ "compareAtPrice": {
592
+ "amount": "100.00"
593
+ }
594
+ },
595
+ "visible": false,
596
+ "inventoryItem": {
597
+ "quantity": 12,
598
+ "preorderInfo": {
599
+ "enabled": false
600
+ }
601
+ },
602
+ "physicalProperties": {}
603
+ },
604
+ {
605
+ "choices": [
606
+ {
607
+ "optionChoiceNames": {
608
+ "optionName": "Size",
609
+ "choiceName": "9",
610
+ "renderType": "TEXT_CHOICES"
611
+ }
612
+ },
613
+ {
614
+ "optionChoiceNames": {
615
+ "optionName": "Color",
616
+ "choiceName": "Navy",
617
+ "renderType": "SWATCH_CHOICES"
618
+ }
619
+ }
620
+ ],
621
+ "price": {
622
+ "actualPrice": {
623
+ "amount": "89.99"
624
+ },
625
+ "compareAtPrice": {
626
+ "amount": "100.00"
627
+ }
628
+ },
629
+ "visible": true,
630
+ "inventoryItem": {
631
+ "quantity": 12,
632
+ "preorderInfo": {
633
+ "enabled": false
634
+ }
635
+ },
636
+ "physicalProperties": {}
637
+ }
638
+ ]
639
+ }
640
+ },
641
+ {
642
+ "name": "Running Track Shoes",
643
+ "description": {
644
+ "nodes": [
645
+ {
646
+ "type": "PARAGRAPH",
647
+ "id": "desc3",
648
+ "nodes": [
649
+ {
650
+ "type": "TEXT",
651
+ "textData": {
652
+ "text": "Lightweight running shoes with responsive cushioning and breathable mesh construction for optimal performance."
653
+ }
654
+ }
655
+ ],
656
+ "paragraphData": {
657
+ "textStyle": {
658
+ "textAlignment": "AUTO"
659
+ }
660
+ }
661
+ }
662
+ ],
663
+ "metadata": {
664
+ "version": 1,
665
+ "id": "running-desc-003"
666
+ }
667
+ },
668
+ "visible": true,
669
+ "visibleInPos": true,
670
+ "productType": "PHYSICAL",
671
+ "physicalProperties": {},
672
+ "media": {
673
+ "main": {
674
+ "url": "https://images.unsplash.com/photo-1551107696-a4b0c5a0d9a2?w=400&h=400&fit=crop&crop=center",
675
+ "altText": "Running Track Shoes - Main Product Image"
676
+ },
677
+ "itemsInfo": {
678
+ "items": [
679
+ {
680
+ "url": "https://images.unsplash.com/photo-1551107696-a4b0c5a0d9a2?w=400&h=400&fit=crop&crop=center",
681
+ "altText": "Running Track Shoes - Product View"
682
+ }
683
+ ]
684
+ }
685
+ },
686
+ "options": [
687
+ {
688
+ "name": "Size",
689
+ "optionRenderType": "TEXT_CHOICES",
690
+ "choicesSettings": {
691
+ "choices": [
692
+ {
693
+ "choiceType": "CHOICE_TEXT",
694
+ "name": "8"
695
+ },
696
+ {
697
+ "choiceType": "CHOICE_TEXT",
698
+ "name": "9"
699
+ },
700
+ {
701
+ "choiceType": "CHOICE_TEXT",
702
+ "name": "10"
703
+ }
704
+ ]
705
+ }
706
+ },
707
+ {
708
+ "name": "Color",
709
+ "optionRenderType": "SWATCH_CHOICES",
710
+ "choicesSettings": {
711
+ "choices": [
712
+ {
713
+ "choiceType": "ONE_COLOR",
714
+ "name": "Black",
715
+ "colorCode": "#000000"
716
+ },
717
+ {
718
+ "choiceType": "ONE_COLOR",
719
+ "name": "Gray",
720
+ "colorCode": "#808080"
721
+ }
722
+ ]
723
+ }
724
+ }
725
+ ],
726
+ "variantsInfo": {
727
+ "variants": [
728
+ {
729
+ "choices": [
730
+ {
731
+ "optionChoiceNames": {
732
+ "optionName": "Size",
733
+ "choiceName": "8",
734
+ "renderType": "TEXT_CHOICES"
735
+ }
736
+ },
737
+ {
738
+ "optionChoiceNames": {
739
+ "optionName": "Color",
740
+ "choiceName": "Black",
741
+ "renderType": "SWATCH_CHOICES"
742
+ }
743
+ }
744
+ ],
745
+ "price": {
746
+ "actualPrice": {
747
+ "amount": "119.99"
748
+ },
749
+ "compareAtPrice": {
750
+ "amount": "180.00"
751
+ }
752
+ },
753
+ "visible": true,
754
+ "inventoryItem": {
755
+ "quantity": 0,
756
+ "preorderInfo": {
757
+ "enabled": false
758
+ }
759
+ },
760
+ "physicalProperties": {}
761
+ },
762
+ {
763
+ "choices": [
764
+ {
765
+ "optionChoiceNames": {
766
+ "optionName": "Size",
767
+ "choiceName": "8",
768
+ "renderType": "TEXT_CHOICES"
769
+ }
770
+ },
771
+ {
772
+ "optionChoiceNames": {
773
+ "optionName": "Color",
774
+ "choiceName": "Gray",
775
+ "renderType": "SWATCH_CHOICES"
776
+ }
777
+ }
778
+ ],
779
+ "price": {
780
+ "actualPrice": {
781
+ "amount": "119.99"
782
+ },
783
+ "compareAtPrice": {
784
+ "amount": "180.00"
785
+ }
786
+ },
787
+ "visible": false,
788
+ "inventoryItem": {
789
+ "quantity": 0,
790
+ "preorderInfo": {
791
+ "enabled": false
792
+ }
793
+ },
794
+ "physicalProperties": {}
795
+ },
796
+ {
797
+ "choices": [
798
+ {
799
+ "optionChoiceNames": {
800
+ "optionName": "Size",
801
+ "choiceName": "9",
802
+ "renderType": "TEXT_CHOICES"
803
+ }
804
+ },
805
+ {
806
+ "optionChoiceNames": {
807
+ "optionName": "Color",
808
+ "choiceName": "Black",
809
+ "renderType": "SWATCH_CHOICES"
810
+ }
811
+ }
812
+ ],
813
+ "price": {
814
+ "actualPrice": {
815
+ "amount": "119.99"
816
+ },
817
+ "compareAtPrice": {
818
+ "amount": "180.00"
819
+ }
820
+ },
821
+ "visible": false,
822
+ "inventoryItem": {
823
+ "quantity": 0,
824
+ "preorderInfo": {
825
+ "enabled": false
826
+ }
827
+ },
828
+ "physicalProperties": {}
829
+ },
830
+ {
831
+ "choices": [
832
+ {
833
+ "optionChoiceNames": {
834
+ "optionName": "Size",
835
+ "choiceName": "9",
836
+ "renderType": "TEXT_CHOICES"
837
+ }
838
+ },
839
+ {
840
+ "optionChoiceNames": {
841
+ "optionName": "Color",
842
+ "choiceName": "Gray",
843
+ "renderType": "SWATCH_CHOICES"
844
+ }
845
+ }
846
+ ],
847
+ "price": {
848
+ "actualPrice": {
849
+ "amount": "119.99"
850
+ },
851
+ "compareAtPrice": {
852
+ "amount": "180.00"
853
+ }
854
+ },
855
+ "visible": true,
856
+ "inventoryItem": {
857
+ "quantity": 0,
858
+ "preorderInfo": {
859
+ "enabled": false
860
+ }
861
+ },
862
+ "physicalProperties": {}
863
+ },
864
+ {
865
+ "choices": [
866
+ {
867
+ "optionChoiceNames": {
868
+ "optionName": "Size",
869
+ "choiceName": "10",
870
+ "renderType": "TEXT_CHOICES"
871
+ }
872
+ },
873
+ {
874
+ "optionChoiceNames": {
875
+ "optionName": "Color",
876
+ "choiceName": "Black",
877
+ "renderType": "SWATCH_CHOICES"
878
+ }
879
+ }
880
+ ],
881
+ "price": {
882
+ "actualPrice": {
883
+ "amount": "119.99"
884
+ },
885
+ "compareAtPrice": {
886
+ "amount": "180.00"
887
+ }
888
+ },
889
+ "visible": true,
890
+ "inventoryItem": {
891
+ "quantity": 0,
892
+ "preorderInfo": {
893
+ "enabled": false
894
+ }
895
+ },
896
+ "physicalProperties": {}
897
+ },
898
+ {
899
+ "choices": [
900
+ {
901
+ "optionChoiceNames": {
902
+ "optionName": "Size",
903
+ "choiceName": "10",
904
+ "renderType": "TEXT_CHOICES"
905
+ }
906
+ },
907
+ {
908
+ "optionChoiceNames": {
909
+ "optionName": "Color",
910
+ "choiceName": "Gray",
911
+ "renderType": "SWATCH_CHOICES"
912
+ }
913
+ }
914
+ ],
915
+ "price": {
916
+ "actualPrice": {
917
+ "amount": "119.99"
918
+ },
919
+ "compareAtPrice": {
920
+ "amount": "180.00"
921
+ }
922
+ },
923
+ "visible": false,
924
+ "inventoryItem": {
925
+ "quantity": 0,
926
+ "preorderInfo": {
927
+ "enabled": false
928
+ }
929
+ },
930
+ "physicalProperties": {}
931
+ }
932
+ ]
933
+ }
934
+ }
935
+ ],
936
+ "returnEntity": true
937
+ }'
938
+ ```
939
+
940
+ ### IMPORTANT NOTES:
941
+
942
+ * When bulk creating products with inventory YOU MUST follow the same format as single product creation but wrap all products in a "products" array. Each product MUST leave the physicalProperties and all other non required fields empty. for example: "physicalProperties": {}. In most cases the products will be physical products, and therefore MUST have the empty physicalProperties object ("physicalProperties": {}) and a corresponding "productType": "PHYSICAL".
943
+ * In case part of the request fails, retry bulk creating the failed products, by copying the exact format from the previous working example.
944
+ * When creating a Color option **YOU MUST** use the `"optionRenderType": "SWATCH_CHOICES"` and the appropriate choice type: `"choiceType": "ONE_COLOR"`, while also providing the relevant `colorCode`. This must be done similar to the example above.
945
+
946
+ **CRITICAL: Bulk Request Structure**The bulk create API requires a different endpoint and request structure:
947
+
948
+ * **URL**: `https://www.wixapis.com/stores/v3/bulk/products-with-inventory/create`
949
+ * **Body**: `{"products": [array of product objects]}`
950
+ * Each product in the array follows the exact same format as single product creation
951
+
952
+ **CRITICAL: Description Format**If you include a description, it MUST use Wix's rich text nodes structure, NOT a plain string. Plain strings will cause "Expected an object" API errors.
953
+
954
+ **WRONG:** `"description": "Your text here"` **CORRECT:**
955
+
956
+ ```json
957
+ "description": {
958
+ "nodes": [
959
+ {
960
+ "type": "PARAGRAPH",
961
+ "id": "desc1",
962
+ "nodes": [
963
+ {
964
+ "type": "TEXT",
965
+ "textData": {
966
+ "text": "Your product description here"
967
+ }
968
+ }
969
+ ],
970
+ "paragraphData": {
971
+ "textStyle": {
972
+ "textAlignment": "AUTO"
973
+ }
974
+ }
975
+ }
976
+ ],
977
+ "metadata": {
978
+ "version": 1,
979
+ "id": "unique-desc-id"
980
+ }
981
+ }
982
+ ```
983
+
984
+ **CRITICAL: Media Format**To add product images, use the media object with main image and optional additional items.**YOU MUST** add an image to each product, with a url from the web which should be relevant to the product.
985
+
986
+ ```json
987
+ "media": {
988
+ "main": {
989
+ "url": "https://images.unsplash.com/photo-example?w=400&h=400&fit=crop&crop=center",
990
+ "altText": "Product Name - Main Product Image"
991
+ },
992
+ "itemsInfo": {
993
+ "items": [
994
+ {
995
+ "url": "https://images.unsplash.com/photo-example?w=400&h=400&fit=crop&crop=center",
996
+ "altText": "Product Name - Product View"
997
+ }
998
+ ]
999
+ }
1000
+ }
1001
+ ```
1002
+
1003
+ **CRITICAL: Options Structure**Each option MUST include:
1004
+
1005
+ * `optionRenderType`: "TEXT_CHOICES" for text-based choices
1006
+ * `choicesSettings`: Object containing the choices array
1007
+ * `choicesSettings.choices`: Array with at least one choice
1008
+ * Each choice MUST have `choiceType`: "CHOICE_TEXT" and `name`
1009
+
1010
+ **CRITICAL: Variants Structure**
1011
+
1012
+ * Create one variant for EVERY combination of option choices (Cartesian product of all options)
1013
+ * In these examples: Each product creates ALL possible combinations: Size options x Color options = 6 total variants each
1014
+ * Each variant must reference ALL options defined on the product
1015
+ * Use `optionChoiceNames` structure with `optionName`, `choiceName`, and `renderType`
1016
+ * Price must use `price.actualPrice.amount` with string values
1017
+ * Include inventory information with `inventoryItem.quantity`
1018
+ * Use `visible: true` for variants you want customers to see, `visible: false` for variants you want to keep hidden but available for future use
1019
+ * **Pro Basketball Sneaker**: 6 variants total (3 visible: Size 8+Red, Size 9+Blue, Size 10+Red)
1020
+ * **Classic Canvas Shoes**: 6 variants total (3 visible: Size 7+White, Size 8+Navy, Size 9+Navy)
1021
+ * **Running Track Shoes**: 6 variants total (3 visible: Size 8+Black, Size 9+Gray, Size 10+Black)
1022
+
1023
+ ## Common Issues and Troubleshooting
1024
+
1025
+ ### 1. "Expected an object" Error in Description
1026
+ This occurs when using a plain string instead of the rich text nodes structure. Always use the nodes format shown above.
1027
+
1028
+ ### 2. Media Not Displaying
1029
+ Ensure both `main` and `itemsInfo` sections are included in the media object, and URLs include the required parameters.
1030
+
1031
+ ### 3. Options Not Working
1032
+ Verify that each option has the correct `optionRenderType` and `choicesSettings` structure.
1033
+
1034
+ ### 4. Variants Missing Choices
1035
+ Each variant must include choices for ALL options defined on the product.
1036
+
1037
+ ### 5. Invalid Color Options
1038
+ Color options must use `optionRenderType: "SWATCH_CHOICES"` and `choiceType: "ONE_COLOR"` with a valid `colorCode`.
1039
+
1040
+ ### 6. Bulk Request Failures
1041
+ If part of the bulk request fails, extract the failed products and retry them separately using the same format.