@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,336 @@
1
+ ---
2
+ name: "Wix Restaurants Setup"
3
+ description: Configures restaurant menus, sections, and items using Menus API. Covers menu structure (Menu → Section → Item), modifiers, pricing, availability schedules, and ordering settings.
4
+ ---
5
+ # Wix Restaurants Setup API Reference
6
+
7
+ This recipe covers setting up and configuring Wix Restaurants using the REST API, including menus, items, and ordering configuration.
8
+
9
+ ## Prerequisites
10
+
11
+ 1. Wix Restaurants app installed on the site
12
+ 2. API access with restaurant management permissions
13
+
14
+ ## Required APIs
15
+
16
+ - **Menus API**: [REST](https://dev.wix.com/docs/api-reference/business-solutions/restaurants/menus/menus/create-menu)
17
+ - **Menu Items API**: [REST](https://dev.wix.com/docs/api-reference/business-solutions/restaurants/menus/items/items/create-item)
18
+ - **Menu Sections API**: [REST](https://dev.wix.com/docs/api-reference/business-solutions/restaurants/menus/sections/create-section)
19
+ - **Item Modifier Groups API**: [REST](https://dev.wix.com/docs/api-reference/business-solutions/restaurants/menus/items/item-modifier-groups/create-modifier-group)
20
+ - **Item Variants API**: [REST](https://dev.wix.com/docs/api-reference/business-solutions/restaurants/menus/items/item-variants/bulk-create-variants)
21
+
22
+ ## Overview
23
+
24
+ Wix Restaurants uses a hierarchical structure:
25
+ - **Menus** (e.g., Breakfast, Lunch, Dinner)
26
+ - **Sections** (e.g., Appetizers, Main Courses, Desserts)
27
+ - **Items** (e.g., Caesar Salad, Grilled Salmon)
28
+
29
+ ## Step 1: Create a Menu
30
+
31
+ **Endpoint**: `POST https://www.wixapis.com/restaurants/menus-menu/v1/menus`
32
+
33
+ **Request Body**:
34
+ ```json
35
+ {
36
+ "menu": {
37
+ "name": "Dinner Menu",
38
+ "description": "Our evening dining selections",
39
+ "visible": true
40
+ }
41
+ }
42
+ ```
43
+
44
+ **Response**:
45
+ ```json
46
+ {
47
+ "menu": {
48
+ "id": "menu-id-123",
49
+ "name": "Dinner Menu",
50
+ "description": "Our evening dining selections",
51
+ "visible": true,
52
+ "createdDate": "2024-01-15T10:00:00.000Z"
53
+ }
54
+ }
55
+ ```
56
+
57
+ ## Step 2: Create Menu Sections
58
+
59
+ **Endpoint**: `POST https://www.wixapis.com/restaurants/menus-section/v1/sections`
60
+
61
+ **Request Body**:
62
+ ```json
63
+ {
64
+ "section": {
65
+ "name": "Appetizers",
66
+ "description": "Start your meal with our delicious starters",
67
+ "visible": true,
68
+ "sortOrder": 1
69
+ }
70
+ }
71
+ ```
72
+
73
+ Create multiple sections:
74
+ ```json
75
+ // Section 1: Appetizers
76
+ {
77
+ "section": {
78
+ "name": "Appetizers",
79
+ "sortOrder": 1
80
+ }
81
+ }
82
+
83
+ // Section 2: Main Courses
84
+ {
85
+ "section": {
86
+ "name": "Main Courses",
87
+ "sortOrder": 2
88
+ }
89
+ }
90
+
91
+ // Section 3: Desserts
92
+ {
93
+ "section": {
94
+ "name": "Desserts",
95
+ "sortOrder": 3
96
+ }
97
+ }
98
+ ```
99
+
100
+ ## Step 3: Create Menu Items
101
+
102
+ **Endpoint**: `POST https://www.wixapis.com/restaurants/menus-item/v1/items`
103
+
104
+ **Request Body**:
105
+ ```json
106
+ {
107
+ "item": {
108
+ "name": "Caesar Salad",
109
+ "description": "Fresh romaine lettuce with house-made Caesar dressing, croutons, and parmesan",
110
+ "priceInfo": { "price": "14.99" },
111
+ "visible": true,
112
+ "labels": [],
113
+ "modifierGroups": []
114
+ }
115
+ }
116
+ ```
117
+
118
+ ## Step 4: Add Items to Sections
119
+
120
+ **Endpoint**: `PATCH https://www.wixapis.com/restaurants/menus-section/v1/sections/{sectionId}`
121
+
122
+ Each section update requires the latest section `revision`.
123
+
124
+ ```json
125
+ {
126
+ "section": {
127
+ "id": "<SECTION_ID>",
128
+ "revision": "<SECTION_REVISION>",
129
+ "itemIds": ["item-id-1", "item-id-2", "item-id-3"]
130
+ }
131
+ }
132
+ ```
133
+
134
+ ## Step 5: Configure Item Options and Modifiers
135
+
136
+ Create modifiers for customization (e.g., cooking temperature, add-ons):
137
+
138
+ **Endpoint**: `POST https://www.wixapis.com/restaurants/item-modifier-group/v1/modifier-groups`
139
+
140
+ ```json
141
+ {
142
+ "modifier": {
143
+ "name": "Cooking Temperature",
144
+ "required": true,
145
+ "minSelections": 1,
146
+ "maxSelections": 1,
147
+ "options": [
148
+ {
149
+ "name": "Rare",
150
+ "price": {
151
+ "amount": "0",
152
+ "currency": "USD"
153
+ }
154
+ },
155
+ {
156
+ "name": "Medium Rare",
157
+ "price": {
158
+ "amount": "0",
159
+ "currency": "USD"
160
+ }
161
+ },
162
+ {
163
+ "name": "Medium",
164
+ "price": {
165
+ "amount": "0",
166
+ "currency": "USD"
167
+ }
168
+ },
169
+ {
170
+ "name": "Well Done",
171
+ "price": {
172
+ "amount": "0",
173
+ "currency": "USD"
174
+ }
175
+ }
176
+ ]
177
+ }
178
+ }
179
+ ```
180
+
181
+ Add-on modifier with pricing:
182
+ ```json
183
+ {
184
+ "modifier": {
185
+ "name": "Add-ons",
186
+ "required": false,
187
+ "minSelections": 0,
188
+ "maxSelections": 5,
189
+ "options": [
190
+ {
191
+ "name": "Extra Cheese",
192
+ "price": {
193
+ "amount": "2.00",
194
+ "currency": "USD"
195
+ }
196
+ },
197
+ {
198
+ "name": "Bacon",
199
+ "price": {
200
+ "amount": "3.00",
201
+ "currency": "USD"
202
+ }
203
+ },
204
+ {
205
+ "name": "Avocado",
206
+ "price": {
207
+ "amount": "2.50",
208
+ "currency": "USD"
209
+ }
210
+ }
211
+ ]
212
+ }
213
+ }
214
+ ```
215
+
216
+ ## Step 6: Set Menu Structure (Attach Sections to Menu)
217
+
218
+ Attach section IDs to a menu. This call requires the latest menu `revision`.
219
+
220
+ **Endpoint**: `PATCH https://www.wixapis.com/restaurants/menus-menu/v1/menus/{menuId}`
221
+
222
+ ```json
223
+ {
224
+ "menu": {
225
+ "id": "<MENU_ID>",
226
+ "revision": "<MENU_REVISION>",
227
+ "sectionIds": ["<SECTION_ID_1>", "<SECTION_ID_2>"]
228
+ }
229
+ }
230
+ ```
231
+
232
+ ## Step 7: Bulk Operations for Large Menus
233
+
234
+ For restaurant setup flows with many sections/items, use bulk endpoints:
235
+
236
+ - **Bulk Create Sections**: `POST https://www.wixapis.com/restaurants/menus-section/v1/bulk/sections/create`
237
+ - **Bulk Create Items**: `POST https://www.wixapis.com/restaurants/menus-item/v1/bulk/items/create`
238
+ - **Bulk Create Variants**: `POST https://www.wixapis.com/restaurants/item-variants/v1/bulk/variants/create`
239
+
240
+ ```json
241
+ {
242
+ "sections": [
243
+ { "name": "Appetizers", "visible": true },
244
+ { "name": "Main Courses", "visible": true }
245
+ ],
246
+ "returnEntity": true
247
+ }
248
+ ```
249
+
250
+ ## Step 8: Query Menus / Sections / Items
251
+
252
+ Use query APIs for retrieval and UI display flows.
253
+
254
+ - **Query Menus**: `POST https://www.wixapis.com/restaurants/menus-menu/v1/menus/query`
255
+ - **Query Sections**: `POST https://www.wixapis.com/restaurants/menus-section/v1/sections/query`
256
+ - **Query Items**: `POST https://www.wixapis.com/restaurants/menus-item/v1/items/query`
257
+
258
+ ```json
259
+ {
260
+ "query": {
261
+ "cursorPaging": {
262
+ "limit": 50
263
+ }
264
+ }
265
+ }
266
+ ```
267
+
268
+ ## Query Menus
269
+
270
+ **Endpoint**: `GET https://www.wixapis.com/restaurants/menus-menu/v1/menus`
271
+
272
+ **Response**:
273
+ ```json
274
+ {
275
+ "menus": [
276
+ {
277
+ "id": "menu-1",
278
+ "name": "Breakfast Menu",
279
+ "visible": true,
280
+ "sections": [...]
281
+ },
282
+ {
283
+ "id": "menu-2",
284
+ "name": "Lunch Menu",
285
+ "visible": true,
286
+ "sections": [...]
287
+ }
288
+ ]
289
+ }
290
+ ```
291
+
292
+ ## Recommended Setup Order
293
+
294
+ For complex restaurant menus, use this order to avoid dependency issues:
295
+
296
+ 1. Create variants (sizes/options) if needed.
297
+ 2. Create items (single or bulk).
298
+ 3. Create sections (single or bulk).
299
+ 4. Update each section with `itemIds`.
300
+ 5. Update menu with `sectionIds`.
301
+
302
+ ## Item Labels
303
+
304
+ Common dietary labels:
305
+ - `vegetarian`
306
+ - `vegan`
307
+ - `gluten-free`
308
+ - `gluten-free-option`
309
+ - `dairy-free`
310
+ - `nut-free`
311
+ - `spicy`
312
+ - `chef-recommendation`
313
+
314
+ ## Best Practices
315
+
316
+ 1. **High-Quality Images**: Use appetizing food photography
317
+ 2. **Clear Descriptions**: Include ingredients and preparation methods
318
+ 3. **Accurate Pricing**: Keep prices up-to-date
319
+ 4. **Stock Management**: Update availability in real-time
320
+ 5. **Modifier Organization**: Group related customizations logically
321
+ 6. **Menu Structure**: Organize sections in logical dining order
322
+
323
+ ## Error Handling
324
+
325
+ | Error | Cause | Solution |
326
+ |-------|-------|----------|
327
+ | `MENU_NOT_FOUND` | Invalid menu ID | Verify menu exists |
328
+ | `ITEM_NOT_FOUND` | Invalid item ID | Verify item exists |
329
+ | `INVALID_PRICE` | Negative price | Use positive amounts |
330
+
331
+ ## Related Documentation
332
+
333
+ - [Menus API Reference](https://dev.wix.com/docs/api-reference/business-solutions/restaurants/menus/menus/introduction)
334
+ - [Menu Items API Reference](https://dev.wix.com/docs/api-reference/business-solutions/restaurants/menus/items/items/introduction)
335
+ - [Menu Sections API Reference](https://dev.wix.com/docs/api-reference/business-solutions/restaurants/menus/sections/introduction)
336
+ - [Restaurant Orders API](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/introduction)
@@ -0,0 +1,295 @@
1
+ ---
2
+ name: "Ricos Converter Service"
3
+ description: Validates and converts content between Ricos documents and HTML/Markdown/plain text using the Ricos Documents API. Covers plugin configuration, format conversion in both directions, and document validation.
4
+ ---
5
+ # Rich Content (Ricos) Converter Service
6
+
7
+ This recipe covers how to validate and convert content between Ricos documents (Wix's rich content format) and other formats like HTML, Markdown, and plain text.
8
+
9
+ ## Overview
10
+
11
+ Ricos is Wix's rich content format used across various Wix applications (Blog, Stores, etc.). The [Ricos Documents API](https://dev.wix.com/docs/api-reference/assets/rich-content/ricos-documents/introduction) provides:
12
+ - **Validation**: Check if a document conforms to the Ricos format
13
+ - **Convert to Ricos**: Transform HTML, Markdown, or plain text into a Ricos document
14
+ - **Convert from Ricos**: Transform a Ricos document back to HTML, Markdown, or plain text
15
+
16
+ Learn more about [Rich Content](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/platform/about-rich-content) and [Ricos document structure](https://dev.wix.com/docs/ricos/getting-started/introduction).
17
+
18
+ ## Required API Endpoints
19
+
20
+ | Method | Endpoint | Docs |
21
+ |--------|----------|------|
22
+ | Validate Document | `POST https://www.wixapis.com/ricos/v1/ricos-document/validate` | [Schema](https://dev.wix.com/docs/api-reference/assets/rich-content/ricos-documents/validate-document) |
23
+ | Convert To Ricos | `POST https://www.wixapis.com/ricos/v1/ricos-document/convert/to-ricos` | [Schema](https://dev.wix.com/docs/api-reference/assets/rich-content/ricos-documents/convert-to-ricos-document) |
24
+ | Convert From Ricos | `POST https://www.wixapis.com/ricos/v1/ricos-document/convert/from-ricos` | [Schema](https://dev.wix.com/docs/api-reference/assets/rich-content/ricos-documents/convert-from-ricos-document) |
25
+
26
+ ---
27
+
28
+ ## Available Plugins
29
+
30
+ Plugins determine which content types are recognized when validating or converting. Specify them as uppercase enum values:
31
+
32
+ | Plugin Enum | Description |
33
+ |-------------|-------------|
34
+ | `ACTION_BUTTON` | Call-to-action buttons |
35
+ | `AUDIO` | Audio content |
36
+ | `CODE_BLOCK` | Code snippets |
37
+ | `COLLAPSIBLE_LIST` | Expandable/collapsible lists |
38
+ | `DIVIDER` | Section dividers |
39
+ | `EMOJI` | Emoji support |
40
+ | `FILE` | File attachments |
41
+ | `FONT_FAMILY` | Font family selection |
42
+ | `GALLERY` | Image galleries |
43
+ | `GIPHY` | GIF integration |
44
+ | `HASHTAG` | Hashtag support |
45
+ | `HEADING` | Headings (h1-h6) |
46
+ | `HTML` | Raw HTML blocks |
47
+ | `IMAGE` | Images |
48
+ | `INDENT` | Text indentation |
49
+ | `LAYOUT` | Layout containers |
50
+ | `LINE_SPACING` | Line spacing control |
51
+ | `LINK` | Hyperlinks |
52
+ | `LINK_BUTTON` | Link buttons |
53
+ | `LINK_PREVIEW` | Link previews |
54
+ | `MENTIONS` | @mentions |
55
+ | `POLL` | Polls |
56
+ | `SPOILER` | Spoiler/hidden content |
57
+ | `TABLE` | Tables |
58
+ | `TEXT_COLOR` | Text color |
59
+ | `TEXT_HIGHLIGHT` | Text highlighting |
60
+ | `VERTICAL_EMBED` | Vertical embeds |
61
+ | `VIDEO` | Video content |
62
+
63
+ ### IMPORTANT NOTES:
64
+ - Plugin values must be **UPPERCASE** enum strings (e.g., `"HEADING"`, not `"heading"`)
65
+ - Content using unsupported plugins will result in validation violations
66
+ - When converting HTML, only elements matching your plugins are converted
67
+
68
+ ---
69
+
70
+ ## Step 1: Validate a Ricos Document
71
+
72
+ Check if a document conforms to the Ricos format and optionally fix issues.
73
+
74
+ **Endpoint**: `POST https://www.wixapis.com/ricos/v1/ricos-document/validate` ([docs](https://dev.wix.com/docs/api-reference/assets/rich-content/ricos-documents/validate-document))
75
+
76
+ **Request Body**:
77
+ ```json
78
+ {
79
+ "document": {
80
+ "nodes": [
81
+ {
82
+ "type": "PARAGRAPH",
83
+ "id": "p1",
84
+ "nodes": [
85
+ {
86
+ "type": "TEXT",
87
+ "id": "t1",
88
+ "textData": {
89
+ "text": "Hello World",
90
+ "decorations": []
91
+ }
92
+ }
93
+ ],
94
+ "paragraphData": {}
95
+ }
96
+ ]
97
+ },
98
+ "plugins": ["HEADING", "LINK", "IMAGE", "TEXT_COLOR"],
99
+ "fixDocument": true
100
+ }
101
+ ```
102
+
103
+ **Response**:
104
+ ```json
105
+ {
106
+ "valid": true,
107
+ "violations": [],
108
+ "validDocument": {
109
+ "nodes": [
110
+ {
111
+ "type": "PARAGRAPH",
112
+ "id": "p1",
113
+ "nodes": [
114
+ {
115
+ "type": "TEXT",
116
+ "id": "t1",
117
+ "textData": {
118
+ "text": "Hello World",
119
+ "decorations": []
120
+ }
121
+ }
122
+ ],
123
+ "paragraphData": {}
124
+ }
125
+ ]
126
+ }
127
+ }
128
+ ```
129
+
130
+ ---
131
+
132
+ ## Step 2: Convert HTML to Ricos
133
+
134
+ Transform HTML content into Ricos document format.
135
+
136
+ **Endpoint**: `POST https://www.wixapis.com/ricos/v1/ricos-document/convert/to-ricos` ([docs](https://dev.wix.com/docs/api-reference/assets/rich-content/ricos-documents/convert-to-ricos-document))
137
+
138
+ **Request Body**:
139
+ ```json
140
+ {
141
+ "html": "<h1>Welcome</h1><p>This is a <strong>bold</strong> paragraph with a <a href=\"https://example.com\">link</a>.</p>",
142
+ "options": {
143
+ "plugins": ["HEADING", "LINK", "TEXT_COLOR", "TEXT_HIGHLIGHT"]
144
+ }
145
+ }
146
+ ```
147
+
148
+ **Response**:
149
+ ```json
150
+ {
151
+ "document": {
152
+ "nodes": [
153
+ {
154
+ "type": "HEADING",
155
+ "id": "",
156
+ "headingData": { "level": 1 },
157
+ "nodes": [
158
+ { "type": "TEXT", "textData": { "text": "Welcome", "decorations": [] } }
159
+ ]
160
+ },
161
+ {
162
+ "type": "PARAGRAPH",
163
+ "id": "",
164
+ "nodes": [
165
+ { "type": "TEXT", "textData": { "text": "This is a ", "decorations": [] } },
166
+ { "type": "TEXT", "textData": { "text": "bold", "decorations": [{ "type": "BOLD", "fontWeightValue": 700 }] } },
167
+ { "type": "TEXT", "textData": { "text": " paragraph with a ", "decorations": [] } },
168
+ { "type": "TEXT", "textData": { "text": "link", "decorations": [{ "type": "LINK", "linkData": { "link": { "url": "https://example.com", "target": "SELF" } } }] } },
169
+ { "type": "TEXT", "textData": { "text": ".", "decorations": [] } }
170
+ ]
171
+ }
172
+ ],
173
+ "metadata": { "version": 1 }
174
+ }
175
+ }
176
+ ```
177
+
178
+ ---
179
+
180
+ ## Step 3: Convert Markdown to Ricos
181
+
182
+ Uses the same endpoint as HTML conversion, with `markdown` instead of `html`.
183
+
184
+ **Request Body**:
185
+ ```json
186
+ {
187
+ "markdown": "# Welcome\n\nThis is a **bold** paragraph with a [link](https://example.com).",
188
+ "options": {
189
+ "plugins": ["HEADING", "LINK", "CODE_BLOCK"]
190
+ }
191
+ }
192
+ ```
193
+
194
+ ---
195
+
196
+ ## Step 4: Convert Plain Text to Ricos
197
+
198
+ **Request Body**:
199
+ ```json
200
+ {
201
+ "plainText": "This is plain text content.\n\nIt will be converted to paragraphs.",
202
+ "options": {
203
+ "plugins": []
204
+ }
205
+ }
206
+ ```
207
+
208
+ ---
209
+
210
+ ## Step 5: Convert Ricos to HTML / Markdown / Plain Text
211
+
212
+ Convert a Ricos document back to another format.
213
+
214
+ **Endpoint**: `POST https://www.wixapis.com/ricos/v1/ricos-document/convert/from-ricos` ([docs](https://dev.wix.com/docs/api-reference/assets/rich-content/ricos-documents/convert-from-ricos-document))
215
+
216
+ **Request Body (to HTML)**:
217
+ ```json
218
+ {
219
+ "document": {
220
+ "nodes": [
221
+ {
222
+ "type": "HEADING",
223
+ "id": "h1",
224
+ "headingData": { "level": 1 },
225
+ "nodes": [
226
+ { "type": "TEXT", "id": "t1", "textData": { "text": "Welcome", "decorations": [] } }
227
+ ]
228
+ },
229
+ {
230
+ "type": "PARAGRAPH",
231
+ "id": "p1",
232
+ "nodes": [
233
+ { "type": "TEXT", "id": "t2", "textData": { "text": "Hello world with ", "decorations": [] } },
234
+ { "type": "TEXT", "id": "t3", "textData": { "text": "bold", "decorations": [{ "type": "BOLD", "fontWeightValue": 700 }] } }
235
+ ],
236
+ "paragraphData": {}
237
+ }
238
+ ]
239
+ },
240
+ "targetFormat": "HTML"
241
+ }
242
+ ```
243
+
244
+ **Response**:
245
+ ```json
246
+ {
247
+ "html": "<h1>Welcome</h1><p>Hello world with <span style=\"font-weight: 700\">bold</span></p>"
248
+ }
249
+ ```
250
+
251
+ **Target format options**: `"HTML"`, `"MARKDOWN"`, `"PLAIN_TEXT"`
252
+
253
+ For plain text, you can include optional settings:
254
+ ```json
255
+ {
256
+ "document": { "nodes": [...] },
257
+ "targetFormat": "PLAIN_TEXT",
258
+ "plainTextOptions": {
259
+ "includeLinks": true,
260
+ "includeMediaLinks": true
261
+ }
262
+ }
263
+ ```
264
+
265
+ ---
266
+
267
+ ## Common Use Cases
268
+
269
+ ### Blog Post Content Import
270
+ When importing blog content from external sources:
271
+ 1. Convert HTML/Markdown to Ricos format using Convert To Ricos
272
+ 2. Validate the converted document with `fixDocument: true`
273
+ 3. Use the validated document in the Blog Posts API
274
+
275
+ ### Rich Content Validation Before Saving
276
+ Before saving rich content:
277
+ 1. Validate with `fixDocument: true`
278
+ 2. Use the returned `validDocument` for saving
279
+ 3. Check `violations` array for any issues
280
+
281
+ ### Round-Trip Conversion
282
+ Convert between formats for editing workflows:
283
+ 1. Convert Ricos to Markdown for a Markdown editor
284
+ 2. Convert edited Markdown back to Ricos for storage
285
+ 3. See [Sample Flows](https://dev.wix.com/docs/api-reference/assets/rich-content/ricos-documents/sample-flows) for a detailed example
286
+
287
+ ---
288
+
289
+ ## Gotchas & Troubleshooting
290
+ - Maximum content length: 10,000 characters for HTML, Markdown, or plain text
291
+ - Plugin limits: Maximum 100 plugins per request
292
+ - Plugin name max length: 30 characters
293
+ - If converting HTML with images but `IMAGE` plugin not specified, images are silently dropped
294
+ - Always validate converted content before using in production
295
+ - The plain text `convert/from-ricos` response concatenates text without separators between nodes — use `includeLinks: true` in `plainTextOptions` if you need link URLs preserved
@@ -0,0 +1,59 @@
1
+ ---
2
+ name: "RECIPE: Change a Site's Payment (Store) Currency via Site Properties API"
3
+ description: "Updates the site-level payment currency (store billing currency) using Site Properties API, including the required request body shape and field mask."
4
+ ---
5
+
6
+ # RECIPE: Change a Site's Payment (Store) Currency via Site Properties API
7
+
8
+ ## Goal
9
+ Update a Wix site's **payment currency** (the ISO-4217 currency code used to bill customers) programmatically.
10
+
11
+ ## When to use
12
+ - You need to switch a site's store/payment currency (for example, from `USD` to `EUR`).
13
+ - You want to automate regional/business setup for sites.
14
+
15
+ ## Important notes before you start
16
+ - The `paymentCurrency` field is part of **Site Properties** (often shown in the dashboard under regional/business info).
17
+ - A successful update increments the Site Properties `version`.
18
+ - Use a **field mask** (`fields.paths`) to indicate which fields you're updating.
19
+
20
+ ## Step 1 — (Optional) Read current site properties version
21
+ This is useful to understand the current snapshot version and other regional fields.
22
+
23
+ ```bash
24
+ curl -X GET 'https://www.wixapis.com/site-properties/v4/properties' \
25
+ -H 'Authorization: <AUTH>'
26
+ ```
27
+
28
+ ## Step 2 — Update the payment currency
29
+ Use the `PATCH /site-properties/v4/properties` endpoint: put the new currency under `properties.paymentCurrency` and include a `fields.paths` mask.
30
+
31
+ ```bash
32
+ curl -X PATCH 'https://www.wixapis.com/site-properties/v4/properties' \
33
+ -H 'Content-Type: application/json' \
34
+ -H 'Authorization: <AUTH>' \
35
+ --data-binary '{
36
+ "properties": {
37
+ "paymentCurrency": "EUR"
38
+ },
39
+ "fields": {
40
+ "paths": ["paymentCurrency"]
41
+ }
42
+ }'
43
+ ```
44
+
45
+ ### Expected response
46
+ A successful call returns an updated Site Properties snapshot version, for example:
47
+
48
+ ```json
49
+ { "version": "123" }
50
+ ```
51
+
52
+ ## Gotchas & troubleshooting
53
+ - **Always send a field mask**: omitting `fields.paths` will fail with `400` and `"Illegal request - No updates on request body"`.
54
+ - Currency must be a **3-letter ISO-4217** code (for example, `USD`, `CAD`, `EUR`, `GBP`).
55
+
56
+ ## Related APIs
57
+ - **Site Properties API**: [REST](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/introduction)
58
+ - Stores Currency Converter (conversion utilities, not for setting the site currency):
59
+ - `POST https://www.wixapis.com/currency_converter/v1/currencies/amounts/{from}/convert/{to}`