@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.
- package/LICENSE +21 -0
- package/README.md +111 -0
- package/package.json +29 -0
- package/skills/wix-app/SKILL.md +344 -0
- package/skills/wix-app/references/APP_IDENTIFIERS.md +35 -0
- package/skills/wix-app/references/APP_MARKET_REVIEW.md +311 -0
- package/skills/wix-app/references/APP_VALIDATION.md +171 -0
- package/skills/wix-app/references/BACKEND_API.md +233 -0
- package/skills/wix-app/references/BACKEND_EVENT.md +116 -0
- package/skills/wix-app/references/CODE_QUALITY.md +33 -0
- package/skills/wix-app/references/CUSTOM_ELEMENT_WIDGET.md +587 -0
- package/skills/wix-app/references/DASHBOARD_MENU_PLUGIN.md +157 -0
- package/skills/wix-app/references/DASHBOARD_MODAL.md +283 -0
- package/skills/wix-app/references/DASHBOARD_PAGE.md +403 -0
- package/skills/wix-app/references/DASHBOARD_PLUGIN.md +205 -0
- package/skills/wix-app/references/DATA_COLLECTION.md +451 -0
- package/skills/wix-app/references/DOCUMENTATION.md +42 -0
- package/skills/wix-app/references/EDITOR_REACT_COMPONENT.md +65 -0
- package/skills/wix-app/references/EMBEDDED_SCRIPT.md +468 -0
- package/skills/wix-app/references/EXTENSION_REGISTRATION.md +96 -0
- package/skills/wix-app/references/SERVICE_PLUGIN.md +235 -0
- package/skills/wix-app/references/SITE_PLUGIN.md +436 -0
- package/skills/wix-app/references/STORES_VERSIONING.md +334 -0
- package/skills/wix-app/references/backend-event/COMMON-EVENTS.md +84 -0
- package/skills/wix-app/references/custom-element-widget/SETTINGS_PANEL.md +345 -0
- package/skills/wix-app/references/dashboard-menu-plugin/blog-slots.md +71 -0
- package/skills/wix-app/references/dashboard-menu-plugin/bookings-slots.md +58 -0
- package/skills/wix-app/references/dashboard-menu-plugin/crm-slots.md +8 -0
- package/skills/wix-app/references/dashboard-menu-plugin/ecommerce-slots.md +17 -0
- package/skills/wix-app/references/dashboard-menu-plugin/events-slots.md +29 -0
- package/skills/wix-app/references/dashboard-menu-plugin/restaurants-slots.md +27 -0
- package/skills/wix-app/references/dashboard-menu-plugin/stores-slots.md +35 -0
- package/skills/wix-app/references/dashboard-page/API_SPEC.md +138 -0
- package/skills/wix-app/references/dashboard-page/DASHBOARD_API.md +573 -0
- package/skills/wix-app/references/dashboard-page/DYNAMIC_PARAMETERS.md +269 -0
- package/skills/wix-app/references/dashboard-page/ECOM_NAVIGATION.md +164 -0
- package/skills/wix-app/references/dashboard-plugin/SLOTS.md +294 -0
- package/skills/wix-app/references/data-collection/WIX_DATA.md +270 -0
- package/skills/wix-app/references/data-collection/extension-template.ts +107 -0
- package/skills/wix-app/references/editor-react-component/ACCESSIBILITY.md +138 -0
- package/skills/wix-app/references/editor-react-component/COMPONENT-API.md +454 -0
- package/skills/wix-app/references/editor-react-component/COMPONENT-CONFIGURATION.md +165 -0
- package/skills/wix-app/references/editor-react-component/CSS-GUIDELINES.md +576 -0
- package/skills/wix-app/references/editor-react-component/DIRECTIONALITY.md +170 -0
- package/skills/wix-app/references/editor-react-component/EDIT-FLOW.md +6 -0
- package/skills/wix-app/references/editor-react-component/PARTS.md +25 -0
- package/skills/wix-app/references/editor-react-component/PROPS-VS-CSS.md +203 -0
- package/skills/wix-app/references/editor-react-component/REACT-GUIDELINES.md +167 -0
- package/skills/wix-app/references/editor-react-component/REACT-PATTERNS.md +137 -0
- package/skills/wix-app/references/service-plugin/ADDITIONAL-FEES.md +112 -0
- package/skills/wix-app/references/service-plugin/BOOKINGS-STAFF-SORTING.md +118 -0
- package/skills/wix-app/references/service-plugin/DISCOUNT-TRIGGERS.md +87 -0
- package/skills/wix-app/references/service-plugin/GIFT-CARDS.md +86 -0
- package/skills/wix-app/references/service-plugin/PAYMENT-SETTINGS.md +135 -0
- package/skills/wix-app/references/service-plugin/SHIPPING-RATES.md +79 -0
- package/skills/wix-app/references/service-plugin/VALIDATIONS.md +68 -0
- package/skills/wix-app/references/site-plugin/EXAMPLES.md +311 -0
- package/skills/wix-app/references/site-plugin/SLOTS.md +263 -0
- package/skills/wix-design-system/SKILL.md +129 -0
- package/skills/wix-design-system/references/file-structure.md +56 -0
- package/skills/wix-design-system/scripts/wds.cjs +531 -0
- package/skills/wix-headless/SKILL.md +418 -0
- package/skills/wix-headless/references/DISCOVERY.md +332 -0
- package/skills/wix-headless/references/ORCHESTRATION.md +269 -0
- package/skills/wix-headless/references/SETUP.md +154 -0
- package/skills/wix-headless/references/blog/BLOG_CONTENT.md +152 -0
- package/skills/wix-headless/references/blog/BLOG_PAGES.md +299 -0
- package/skills/wix-headless/references/blog/BLOG_SETUP.md +218 -0
- package/skills/wix-headless/references/blog/INSTRUCTIONS.md +32 -0
- package/skills/wix-headless/references/cms/CMS_FOUNDATIONS.md +373 -0
- package/skills/wix-headless/references/cms/FAQ_KNOWLEDGE_BASE.md +229 -0
- package/skills/wix-headless/references/cms/INSTRUCTIONS.md +40 -0
- package/skills/wix-headless/references/cms/PORTFOLIO.md +454 -0
- package/skills/wix-headless/references/cms/RESOURCE_LIBRARY.md +356 -0
- package/skills/wix-headless/references/cms/TEAM_DIRECTORY.md +299 -0
- package/skills/wix-headless/references/commands/install-app.md +42 -0
- package/skills/wix-headless/references/commands/known-apps.json +5 -0
- package/skills/wix-headless/references/commands/mcp-bootstrap.md +28 -0
- package/skills/wix-headless/references/designer/INSTRUCTIONS.md +828 -0
- package/skills/wix-headless/references/ecom/CART_PAGES.md +120 -0
- package/skills/wix-headless/references/ecom/CART_WIRING.md +103 -0
- package/skills/wix-headless/references/ecom/COMPONENTS_CSS.md +132 -0
- package/skills/wix-headless/references/ecom/INSTRUCTIONS.md +59 -0
- package/skills/wix-headless/references/forms/CONTACT_FORM.md +477 -0
- package/skills/wix-headless/references/forms/INSTRUCTIONS.md +43 -0
- package/skills/wix-headless/references/gift-cards/COMPONENTS.md +119 -0
- package/skills/wix-headless/references/gift-cards/INSTRUCTIONS.md +51 -0
- package/skills/wix-headless/references/gift-cards/PAGES.md +129 -0
- package/skills/wix-headless/references/images/INSTRUCTIONS.md +359 -0
- package/skills/wix-headless/references/shared/BUILD_NOISE.md +8 -0
- package/skills/wix-headless/references/shared/IMAGE_GENERATION.md +185 -0
- package/skills/wix-headless/references/shared/IMPLEMENTER.md +155 -0
- package/skills/wix-headless/references/shared/MCP_PREFIX.md +105 -0
- package/skills/wix-headless/references/shared/PRODUCTION_SHARP_EDGES.md +97 -0
- package/skills/wix-headless/references/shared/RETURN_CONTRACT.md +423 -0
- package/skills/wix-headless/references/shared/STYLING.md +117 -0
- package/skills/wix-headless/references/stores/BACK_IN_STOCK.md +178 -0
- package/skills/wix-headless/references/stores/CATEGORY_PAGES.md +86 -0
- package/skills/wix-headless/references/stores/COMPONENTS_CSS.md +129 -0
- package/skills/wix-headless/references/stores/HOME_AND_NAV.md +227 -0
- package/skills/wix-headless/references/stores/INSTRUCTIONS.md +96 -0
- package/skills/wix-headless/references/stores/PRODUCT_CATALOG_DATA.md +249 -0
- package/skills/wix-headless/references/stores/PRODUCT_PAGES.md +213 -0
- package/skills/wix-headless/references/stores/SHARED_WIRING.md +164 -0
- package/skills/wix-headless/references/verticals/_schema.json +160 -0
- package/skills/wix-headless/references/verticals/_schema.md +185 -0
- package/skills/wix-headless/references/verticals/blog.md +125 -0
- package/skills/wix-headless/references/verticals/cms.md +121 -0
- package/skills/wix-headless/references/verticals/ecom.md +96 -0
- package/skills/wix-headless/references/verticals/forms.md +106 -0
- package/skills/wix-headless/references/verticals/gift-cards.md +121 -0
- package/skills/wix-headless/references/verticals/stores.md +167 -0
- package/skills/wix-headless/scripts/check-manifest.mjs +198 -0
- package/skills/wix-headless/scripts/copy-utility-templates.mjs +153 -0
- package/skills/wix-headless/scripts/emit-design-tokens.mjs +77 -0
- package/skills/wix-headless/scripts/finalize-run-json.mjs +141 -0
- package/skills/wix-headless/scripts/init-site-json.mjs +63 -0
- package/skills/wix-headless/scripts/patch-decorative-slots.mjs +124 -0
- package/skills/wix-headless/scripts/plan-entity-image-waves.mjs +190 -0
- package/skills/wix-headless/scripts/preview.sh +45 -0
- package/skills/wix-headless/scripts/release.sh +73 -0
- package/skills/wix-headless/scripts/scaffold.sh +53 -0
- package/skills/wix-headless/scripts/seed-utilities.sh +55 -0
- package/skills/wix-headless/shared-utilities/analytics.ts +40 -0
- package/skills/wix-headless/shared-utilities/ricos.ts +179 -0
- package/skills/wix-headless/shared-utilities/wix-image.ts +72 -0
- package/skills/wix-headless/templates/ecom/CartBadge.tsx +84 -0
- package/skills/wix-headless/templates/ecom/CartView.tsx +543 -0
- package/skills/wix-headless/templates/ecom/cart.astro +13 -0
- package/skills/wix-headless/templates/ecom/components-ecom.css +215 -0
- package/skills/wix-headless/templates/ecom/discounts.ts +71 -0
- package/skills/wix-headless/templates/ecom/thank-you.astro +24 -0
- package/skills/wix-headless/templates/gift-cards/GiftCardPurchase.tsx +172 -0
- package/skills/wix-headless/templates/gift-cards/_home-teaser-snippet.astro +42 -0
- package/skills/wix-headless/templates/gift-cards/_nav-snippet.astro +11 -0
- package/skills/wix-headless/templates/gift-cards/components-gift-cards.css +219 -0
- package/skills/wix-headless/templates/gift-cards/gift-cards.astro +51 -0
- package/skills/wix-headless/templates/gift-cards/gift-cards.ts +75 -0
- package/skills/wix-headless/templates/stores/AddToCartButton.tsx +77 -0
- package/skills/wix-headless/templates/stores/BackInStockForm.tsx +176 -0
- package/skills/wix-headless/templates/stores/CategoryRail.astro +69 -0
- package/skills/wix-headless/templates/stores/ProductCard.astro +79 -0
- package/skills/wix-headless/templates/stores/ProductPurchase.tsx +397 -0
- package/skills/wix-headless/templates/stores/SeoTags.astro +21 -0
- package/skills/wix-headless/templates/stores/back-in-stock.ts +67 -0
- package/skills/wix-headless/templates/stores/categories.ts +155 -0
- package/skills/wix-headless/templates/stores/category/[slug].astro +130 -0
- package/skills/wix-headless/templates/stores/components-stores.css +295 -0
- package/skills/wix-headless/templates/stores/products/[slug].astro +128 -0
- package/skills/wix-headless/templates/stores/products/index.astro +101 -0
- package/skills/wix-manage/SKILL.md +280 -0
- package/skills/wix-manage/references/app-installation/install-wix-apps.md +155 -0
- package/skills/wix-manage/references/app-installation/list-installed-apps.md +124 -0
- package/skills/wix-manage/references/blog/how-to-create-blog-posts.md +226 -0
- package/skills/wix-manage/references/bookings/booking-service-policy-setup.md +95 -0
- package/skills/wix-manage/references/bookings/booking-system-integration-gaps.md +416 -0
- package/skills/wix-manage/references/bookings/bookings-staff-setup.md +255 -0
- package/skills/wix-manage/references/bookings/create-and-update-booking-services.md +462 -0
- package/skills/wix-manage/references/bookings/end-to-end-booking-flow.md +278 -0
- package/skills/wix-manage/references/bookings/external-calendar-integration.md +258 -0
- package/skills/wix-manage/references/bookings/multi-resource-service-creation.md +231 -0
- package/skills/wix-manage/references/calendar/configure-default-business-hours.md +226 -0
- package/skills/wix-manage/references/cms/cms-data-items-crud.md +422 -0
- package/skills/wix-manage/references/cms/cms-data-operations-extended.md +263 -0
- package/skills/wix-manage/references/cms/cms-ecommerce-catalog-integration.md +136 -0
- package/skills/wix-manage/references/cms/cms-references-and-relationships.md +160 -0
- package/skills/wix-manage/references/cms/cms-schema-management.md +143 -0
- package/skills/wix-manage/references/contacts/bulk-delete-contacts.md +73 -0
- package/skills/wix-manage/references/contacts/bulk-label-and-unlabel-contacts.md +67 -0
- package/skills/wix-manage/references/domains/domain-search-and-purchase.md +434 -0
- package/skills/wix-manage/references/ecommerce/api-recommendation-tracking.md +420 -0
- package/skills/wix-manage/references/ecommerce/flow-add-free-shipping.md +267 -0
- package/skills/wix-manage/references/ecommerce/flow-bundle-and-save.md +290 -0
- package/skills/wix-manage/references/ecommerce/flow-fix-coverage-gaps.md +300 -0
- package/skills/wix-manage/references/ecommerce/flow-optimize-shipping-rates.md +364 -0
- package/skills/wix-manage/references/ecommerce/flow-seasonal-promotion.md +315 -0
- package/skills/wix-manage/references/ecommerce/flow-stock-mover.md +308 -0
- package/skills/wix-manage/references/ecommerce/flow-upsell-boost.md +271 -0
- package/skills/wix-manage/references/ecommerce/goal-clear-inventory.md +118 -0
- package/skills/wix-manage/references/ecommerce/goal-drive-cross-sells.md +122 -0
- package/skills/wix-manage/references/ecommerce/goal-increase-aov.md +132 -0
- package/skills/wix-manage/references/ecommerce/goal-reduce-cart-abandonment.md +148 -0
- package/skills/wix-manage/references/ecommerce/goal-seasonal-revenue.md +146 -0
- package/skills/wix-manage/references/ecommerce/guardrail-discount-conflicts.md +118 -0
- package/skills/wix-manage/references/ecommerce/guardrail-margin-protection.md +88 -0
- package/skills/wix-manage/references/ecommerce/guardrail-rate-pricing-sanity.md +108 -0
- package/skills/wix-manage/references/ecommerce/guardrail-shipping-health.md +124 -0
- package/skills/wix-manage/references/ecommerce/recipe-apply-shipping-recommendations.md +299 -0
- package/skills/wix-manage/references/ecommerce/recommend-ecommerce-strategy.md +582 -0
- package/skills/wix-manage/references/ecommerce/setup-coupons.md +338 -0
- package/skills/wix-manage/references/ecommerce/setup-discount-rules.md +444 -0
- package/skills/wix-manage/references/ecommerce/setup-shipping-rates.md +86 -0
- package/skills/wix-manage/references/ecommerce/setup-shipping-regions.md +56 -0
- package/skills/wix-manage/references/ecommerce/setup-store-pickup-location.md +209 -0
- package/skills/wix-manage/references/ecommerce/skill-graph.md +139 -0
- package/skills/wix-manage/references/ecommerce/troubleshoot-checkout-delivery-dropoff.md +124 -0
- package/skills/wix-manage/references/ecommerce/troubleshoot-discount-not-applying.md +95 -0
- package/skills/wix-manage/references/events/list-events.md +203 -0
- package/skills/wix-manage/references/forms/create-form.md +260 -0
- package/skills/wix-manage/references/get-paid/create-payment-links.md +212 -0
- package/skills/wix-manage/references/get-paid/how-to-setup-wix-payments.md +57 -0
- package/skills/wix-manage/references/get-paid/payment-links-for-bookings.md +101 -0
- package/skills/wix-manage/references/media/upload-media-to-wix.md +216 -0
- package/skills/wix-manage/references/pricing-plans/create-and-update-pricing-plans.md +77 -0
- package/skills/wix-manage/references/pricing-plans/pricing-plans-bookings-integration.md +166 -0
- package/skills/wix-manage/references/restaurants/wix-restaurants-setup.md +336 -0
- package/skills/wix-manage/references/rich-content/ricos-converter-service.md +295 -0
- package/skills/wix-manage/references/site-properties/change-payment-currency-site-properties.md +59 -0
- package/skills/wix-manage/references/sites/create-site-from-template.md +183 -0
- package/skills/wix-manage/references/sites/query-sites.md +125 -0
- package/skills/wix-manage/references/stores/add-store-pages-to-site.md +57 -0
- package/skills/wix-manage/references/stores/bulk-create-products-with-options.md +1041 -0
- package/skills/wix-manage/references/stores/create-product-catalog-v1.md +125 -0
- package/skills/wix-manage/references/stores/create-product-from-image.md +824 -0
- package/skills/wix-manage/references/stores/create-product-with-options-catalog-v3.md +566 -0
- package/skills/wix-manage/references/stores/find-products-query-and-search-catalog-v3.md +194 -0
- package/skills/wix-manage/references/stores/query-products-catalog-v1.md +80 -0
- package/skills/wix-manage/references/stores/setup-online-store-catalog-v3.md +99 -0
- package/skills/wix-manage/references/stores/update-product-pre-order.md +213 -0
- 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
|
package/skills/wix-manage/references/site-properties/change-payment-currency-site-properties.md
ADDED
|
@@ -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}`
|