@wix/agent-skills 1.6.0 → 1.7.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/README.md +2 -2
- package/package.json +1 -1
- package/skills/wix-app/SKILL.md +49 -42
- package/skills/wix-app/references/BACKEND_EVENT.md +10 -65
- package/skills/wix-app/references/CUSTOM_ELEMENT_WIDGET.md +101 -406
- package/skills/wix-app/references/DASHBOARD_MENU_PLUGIN.md +14 -111
- package/skills/wix-app/references/DASHBOARD_MODAL.md +56 -205
- package/skills/wix-app/references/DASHBOARD_PAGE.md +19 -98
- package/skills/wix-app/references/DASHBOARD_PLUGIN.md +6 -108
- package/skills/wix-app/references/DATA_COLLECTION.md +113 -198
- package/skills/wix-app/references/EMBEDDED_SCRIPT.md +41 -268
- package/skills/wix-app/references/EXTENSION_REGISTRATION.md +27 -76
- package/skills/wix-app/references/SERVICE_PLUGIN.md +35 -188
- package/skills/wix-app/references/SITE_PLUGIN.md +8 -92
- package/skills/wix-app/references/backend-event/COMMON-EVENTS.md +0 -44
- package/skills/wix-app/references/custom-element-widget/SETTINGS_PANEL.md +19 -330
- package/skills/wix-app/references/dashboard-menu-plugin/bookings-slots.md +0 -12
- package/skills/wix-app/references/dashboard-menu-plugin/ecommerce-slots.md +7 -0
- package/skills/wix-app/references/dashboard-menu-plugin/restaurants-slots.md +0 -12
- package/skills/wix-app/references/dashboard-plugin/SLOTS.md +3 -15
- package/skills/wix-app/references/service-plugin/ADDITIONAL-FEES.md +2 -18
- package/skills/wix-app/references/service-plugin/BOOKINGS-STAFF-SORTING.md +2 -42
- package/skills/wix-app/references/service-plugin/DISCOUNT-TRIGGERS.md +1 -11
- package/skills/wix-app/references/service-plugin/GIFT-CARDS.md +1 -11
- package/skills/wix-app/references/service-plugin/PAYMENT-SETTINGS.md +2 -40
- package/skills/wix-app/references/service-plugin/SHIPPING-RATES.md +2 -19
- package/skills/wix-app/references/service-plugin/VALIDATIONS.md +2 -18
- package/skills/wix-app/references/site-plugin/SLOTS.md +17 -68
- package/skills/wix-headless/SKILL.md +111 -389
- package/skills/wix-headless/references/BUILD.md +307 -0
- package/skills/wix-headless/references/DESIGN_SYSTEM.md +115 -0
- package/skills/wix-headless/references/DISCOVERY.md +237 -112
- package/skills/wix-headless/references/PLAN.md +82 -0
- package/skills/wix-headless/references/SEED.md +205 -0
- package/skills/wix-headless/references/SETUP.md +140 -134
- package/skills/wix-headless/references/astro/COMPOSE.md +142 -0
- package/skills/wix-headless/references/{blog → astro/blog}/BLOG_PAGES.md +1 -1
- package/skills/wix-headless/references/{blog → astro/blog}/BLOG_SETUP.md +2 -2
- package/skills/wix-headless/references/astro/cms/CMS_FOUNDATIONS.md +214 -0
- package/skills/wix-headless/references/{cms → astro/cms}/FAQ_KNOWLEDGE_BASE.md +6 -4
- package/skills/wix-headless/references/{cms → astro/cms}/PORTFOLIO.md +5 -5
- package/skills/wix-headless/references/{cms → astro/cms}/RESOURCE_LIBRARY.md +5 -5
- package/skills/wix-headless/references/{cms → astro/cms}/TEAM_DIRECTORY.md +5 -5
- package/skills/wix-headless/references/astro/designer/INSTRUCTIONS.md +331 -0
- package/skills/wix-headless/references/{ecom → astro/ecom}/CART_PAGES.md +1 -1
- package/skills/wix-headless/references/{ecom → astro/ecom}/CART_WIRING.md +1 -1
- package/skills/wix-headless/references/{ecom → astro/ecom}/COMPONENTS_CSS.md +3 -3
- package/skills/wix-headless/references/{forms → astro/forms}/CONTACT_FORM.md +13 -13
- package/skills/wix-headless/references/{gift-cards → astro/gift-cards}/COMPONENTS.md +1 -1
- package/skills/wix-headless/references/{gift-cards → astro/gift-cards}/PAGES.md +1 -1
- package/skills/wix-headless/references/{stores → astro/stores}/BACK_IN_STOCK.md +1 -1
- package/skills/wix-headless/references/{stores → astro/stores}/CATEGORY_PAGES.md +12 -13
- package/skills/wix-headless/references/{stores → astro/stores}/COMPONENTS_CSS.md +4 -4
- package/skills/wix-headless/references/{stores → astro/stores}/HOME_AND_NAV.md +11 -9
- package/skills/wix-headless/references/{stores → astro/stores}/PRODUCT_PAGES.md +5 -3
- package/skills/wix-headless/references/{stores → astro/stores}/SHARED_WIRING.md +3 -3
- package/skills/wix-headless/references/astro/templates/Footer.astro +27 -0
- package/skills/wix-headless/references/astro/templates/Layout.astro +132 -0
- package/skills/wix-headless/references/astro/templates/Navigation.astro +38 -0
- package/skills/wix-headless/references/astro/templates/astro.config.mjs +41 -0
- package/skills/wix-headless/references/astro/templates/ecom/components-ecom.css +302 -0
- package/skills/wix-headless/references/astro/templates/global.css +286 -0
- package/skills/wix-headless/references/astro/templates/index.astro +56 -0
- package/skills/wix-headless/{templates → references/astro/templates}/stores/back-in-stock.ts +1 -1
- package/skills/wix-headless/{templates → references/astro/templates}/stores/components-stores.css +138 -33
- package/skills/wix-headless/references/blog/BLOG_CONTENT.md +10 -11
- package/skills/wix-headless/references/blog/INSTRUCTIONS.md +5 -5
- package/skills/wix-headless/references/cms/CMS_FOUNDATIONS.md +31 -230
- package/skills/wix-headless/references/cms/INSTRUCTIONS.md +13 -8
- package/skills/wix-headless/references/custom/INSTRUCTIONS.md +38 -0
- package/skills/wix-headless/references/ecom/INSTRUCTIONS.md +10 -10
- package/skills/wix-headless/references/forms/INSTRUCTIONS.md +5 -5
- package/skills/wix-headless/references/gift-cards/INSTRUCTIONS.md +11 -11
- package/skills/wix-headless/references/images/INSTRUCTIONS.md +47 -50
- package/skills/wix-headless/references/seed-recipes.md +49 -0
- package/skills/wix-headless/references/shared/AUTHENTICATION.md +110 -0
- package/skills/wix-headless/references/shared/BUILD_NOISE.md +2 -2
- package/skills/wix-headless/references/shared/DOCS_SEARCH.md +41 -0
- package/skills/wix-headless/references/shared/IMAGE_GENERATION.md +17 -17
- package/skills/wix-headless/references/shared/IMPLEMENTER.md +20 -29
- package/skills/wix-headless/references/shared/PRODUCTION_SHARP_EDGES.md +1 -1
- package/skills/wix-headless/references/shared/RETURN_CONTRACT.md +25 -16
- package/skills/wix-headless/references/shared/STYLING.md +47 -10
- package/skills/wix-headless/references/stores/INSTRUCTIONS.md +25 -25
- package/skills/wix-headless/references/stores/PRODUCT_CATALOG_DATA.md +17 -17
- package/skills/wix-headless/references/verticals/_schema.json +31 -117
- package/skills/wix-headless/references/verticals/_schema.md +60 -150
- package/skills/wix-headless/references/verticals/blog.md +5 -99
- package/skills/wix-headless/references/verticals/cms.md +9 -100
- package/skills/wix-headless/references/verticals/ecom.md +5 -76
- package/skills/wix-headless/references/verticals/forms.md +5 -85
- package/skills/wix-headless/references/verticals/gift-cards.md +6 -103
- package/skills/wix-headless/references/verticals/stores.md +10 -144
- package/skills/wix-headless/scripts/check-manifest.mjs +5 -5
- package/skills/wix-headless/scripts/emit-design-tokens.mjs +29 -23
- package/skills/wix-headless/scripts/init-site-json.mjs +59 -21
- package/skills/wix-headless/scripts/patch-decorative-slots.mjs +67 -43
- package/skills/wix-headless/scripts/plan-entity-image-waves.mjs +3 -3
- package/skills/wix-headless/scripts/preview.sh +3 -3
- package/skills/wix-headless/scripts/release.sh +4 -4
- package/skills/wix-headless/scripts/scaffold.sh +75 -20
- package/skills/wix-headless/scripts/seed-utilities.sh +50 -12
- package/skills/wix-manage/SKILL.md +4 -8
- package/skills/wix-manage/references/blog/how-to-create-blog-posts.md +2 -0
- package/skills/wix-manage/references/cms/cms-data-items-crud.md +4 -0
- package/skills/wix-manage/references/cms/cms-references-and-relationships.md +2 -0
- package/skills/wix-manage/references/cms/cms-schema-management.md +4 -0
- package/skills/wix-manage/references/ecommerce/api-shipping.md +443 -0
- package/skills/wix-manage/references/ecommerce/flow-add-free-shipping.md +5 -6
- package/skills/wix-manage/references/ecommerce/flow-fix-coverage-gaps.md +4 -5
- package/skills/wix-manage/references/ecommerce/flow-optimize-shipping-rates.md +4 -5
- package/skills/wix-manage/references/ecommerce/goal-increase-aov.md +1 -1
- package/skills/wix-manage/references/ecommerce/goal-reduce-cart-abandonment.md +1 -2
- package/skills/wix-manage/references/ecommerce/guardrail-shipping-health.md +2 -2
- package/skills/wix-manage/references/ecommerce/recipe-apply-shipping-recommendations.md +4 -5
- package/skills/wix-manage/references/ecommerce/recommend-ecommerce-strategy.md +7 -7
- package/skills/wix-manage/references/ecommerce/setup-discount-rules.md +209 -72
- package/skills/wix-manage/references/ecommerce/setup-store-pickup-location.md +9 -10
- package/skills/wix-manage/references/ecommerce/skill-graph.md +4 -4
- package/skills/wix-manage/references/forms/create-form.md +2 -0
- package/skills/wix-manage/references/stores/bulk-create-products-with-options.md +2 -0
- package/skills/wix-manage/references/stores/create-product-from-image.md +91 -38
- package/skills/wix-manage/references/stores/setup-online-store-catalog-v3.md +2 -0
- package/skills/wix-app/references/custom-element-widget/default-thumbnail.png +0 -0
- package/skills/wix-app/references/data-collection/extension-template.ts +0 -107
- package/skills/wix-headless/references/ORCHESTRATION.md +0 -269
- package/skills/wix-headless/references/commands/install-app.md +0 -42
- package/skills/wix-headless/references/commands/mcp-bootstrap.md +0 -28
- package/skills/wix-headless/references/designer/INSTRUCTIONS.md +0 -828
- package/skills/wix-headless/references/shared/MCP_PREFIX.md +0 -105
- package/skills/wix-headless/scripts/copy-utility-templates.mjs +0 -153
- package/skills/wix-headless/templates/ecom/components-ecom.css +0 -215
- package/skills/wix-manage/references/events/list-events.md +0 -203
- /package/skills/wix-headless/{templates → references/astro/templates}/ecom/CartBadge.tsx +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/ecom/CartView.tsx +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/ecom/cart.astro +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/ecom/discounts.ts +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/ecom/thank-you.astro +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/gift-cards/GiftCardPurchase.tsx +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/gift-cards/_home-teaser-snippet.astro +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/gift-cards/_nav-snippet.astro +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/gift-cards/components-gift-cards.css +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/gift-cards/gift-cards.astro +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/gift-cards/gift-cards.ts +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/stores/AddToCartButton.tsx +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/stores/BackInStockForm.tsx +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/stores/CategoryRail.astro +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/stores/ProductCard.astro +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/stores/ProductPurchase.tsx +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/stores/SeoTags.astro +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/stores/categories.ts +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/stores/category/[slug].astro +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/stores/products/[slug].astro +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/stores/products/index.astro +0 -0
|
@@ -27,9 +27,9 @@ Analyzes the site's catalog price distribution and current shipping rate structu
|
|
|
27
27
|
|
|
28
28
|
## Required APIs
|
|
29
29
|
|
|
30
|
-
- [Query Shipping Options](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/
|
|
31
|
-
- [Update Shipping Option](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/
|
|
32
|
-
- [Create Shipping Option](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/
|
|
30
|
+
- [Query Shipping Options](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping#query-shipping-options)
|
|
31
|
+
- [Update Shipping Option](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping#update-shipping-option)
|
|
32
|
+
- [Create Shipping Option](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping#create-shipping-option)
|
|
33
33
|
|
|
34
34
|
---
|
|
35
35
|
|
|
@@ -360,5 +360,4 @@ Verify:
|
|
|
360
360
|
|
|
361
361
|
## References
|
|
362
362
|
|
|
363
|
-
- [Shipping
|
|
364
|
-
- [Delivery Profiles API](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/introduction)
|
|
363
|
+
- [API: Shipping Delivery](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping)
|
|
@@ -25,7 +25,7 @@ references:
|
|
|
25
25
|
> - [Flow: Upsell Boost](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/flow-upsell-boost)
|
|
26
26
|
> - [Flow: Bundle and Save](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/flow-bundle-and-save)
|
|
27
27
|
>
|
|
28
|
-
> **Shipping flows that also serve AOV goals** (
|
|
28
|
+
> **Shipping flows that also serve AOV goals** (load if shipping domain is active):
|
|
29
29
|
> - [Flow: Add Free Shipping](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/flow-add-free-shipping) — free shipping threshold pushes carts above AOV
|
|
30
30
|
> - [Flow: Optimize Shipping Rates](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/flow-optimize-shipping-rates) — rate optimization improves conversion on higher-value orders
|
|
31
31
|
>
|
|
@@ -15,11 +15,10 @@ references:
|
|
|
15
15
|
---
|
|
16
16
|
# Goal: Reduce Cart Abandonment
|
|
17
17
|
|
|
18
|
-
> **Related skills
|
|
18
|
+
> **Related skills**:
|
|
19
19
|
> - [Flow: Fix Coverage Gaps](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/flow-fix-coverage-gaps) — shipping coverage gaps block checkout entirely
|
|
20
20
|
> - [Recipe: Apply Shipping Recommendations](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/recipe-apply-shipping-recommendations)
|
|
21
21
|
> - [Setup Store Pickup Location](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/setup-store-pickup-location)
|
|
22
|
-
> - [Setup Store Pickup Location](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/setup-store-pickup-location)
|
|
23
22
|
|
|
24
23
|
Reduce checkout abandonment caused by shipping friction — coverage gaps, unexpected costs, and missing free shipping options — by optimizing the delivery step of the checkout funnel.
|
|
25
24
|
|
|
@@ -9,8 +9,8 @@ references:
|
|
|
9
9
|
---
|
|
10
10
|
# Guardrail: Shipping Health
|
|
11
11
|
|
|
12
|
-
> **Related skills
|
|
13
|
-
> - [Troubleshoot: Checkout Delivery Drop-off](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/troubleshoot-checkout-delivery-
|
|
12
|
+
> **Related skills**:
|
|
13
|
+
> - [Troubleshoot: Checkout Delivery Drop-off](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/troubleshoot-checkout-delivery-dropoff)
|
|
14
14
|
|
|
15
15
|
## When to use
|
|
16
16
|
|
|
@@ -11,14 +11,14 @@ description: Applies AI-generated shipping recommendations to a Wix e-commerce s
|
|
|
11
11
|
|
|
12
12
|
## Required APIs
|
|
13
13
|
|
|
14
|
-
- [Query Delivery Profiles](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/
|
|
15
|
-
- [Get Delivery Profile](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/
|
|
14
|
+
- [Query Delivery Profiles](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping#query-delivery-profiles)
|
|
15
|
+
- [Get Delivery Profile](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping#get-delivery-profile)
|
|
16
16
|
|
|
17
17
|
---
|
|
18
18
|
|
|
19
19
|
## Step 1: Query the current shipping configuration
|
|
20
20
|
|
|
21
|
-
Call [Query Delivery Profiles](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/
|
|
21
|
+
Call [Query Delivery Profiles](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping#query-delivery-profiles) to understand the site's delivery setup — profiles, regions, carriers, and backup rates.
|
|
22
22
|
|
|
23
23
|
**Endpoint**: `POST https://www.wixapis.com/ecom/v1/delivery-profiles/query`
|
|
24
24
|
|
|
@@ -295,5 +295,4 @@ After applying recommendations, query shipping options again (Step 2) to confirm
|
|
|
295
295
|
|
|
296
296
|
## References
|
|
297
297
|
|
|
298
|
-
- [
|
|
299
|
-
- [Shipping Options API](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/shipping-options/introduction)
|
|
298
|
+
- [API: Shipping Delivery](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping)
|
|
@@ -106,9 +106,9 @@ CallWixSiteAPI(
|
|
|
106
106
|
"fields": [
|
|
107
107
|
"language",
|
|
108
108
|
"merchant_business_country",
|
|
109
|
-
"
|
|
110
|
-
"
|
|
111
|
-
"
|
|
109
|
+
"suggested_main_industry",
|
|
110
|
+
"suggested_sub_industry",
|
|
111
|
+
"last_30_days_distinct_visitors",
|
|
112
112
|
"last_30_days_orders_count",
|
|
113
113
|
"online_gpv_last_30_days",
|
|
114
114
|
"payment_currency"
|
|
@@ -123,9 +123,9 @@ CallWixSiteAPI(
|
|
|
123
123
|
|---|---|---|---|
|
|
124
124
|
| `language` | STRING | Wix site language code | Locale-aware recommendations |
|
|
125
125
|
| `merchant_business_country` | STRING | Merchant's business country (ISO alpha-2) | Holiday detection, region analysis, shipping |
|
|
126
|
-
| `
|
|
127
|
-
| `
|
|
128
|
-
| `
|
|
126
|
+
| `suggested_main_industry` | STRING | Dominant industry in last 30 days (user growth model) | Domain classification, goal selection |
|
|
127
|
+
| `suggested_sub_industry` | STRING | Dominant sub-industry in last 30 days | Domain classification |
|
|
128
|
+
| `last_30_days_distinct_visitors` | LONG | Distinct visitors in last 30 days (incl. app sessions) | Traffic-based thresholds |
|
|
129
129
|
| `last_30_days_orders_count` | LONG | Order count in last 30 days | AOV calculation, goal selection |
|
|
130
130
|
| `online_gpv_last_30_days` | LONG | Online Gross Payment Volume in last 30 days (site currency units) | Revenue analysis, AOV calculation |
|
|
131
131
|
| `payment_currency` | STRING | Store payment currency code (ISO-4217) | Discount/shipping amount formatting |
|
|
@@ -153,7 +153,7 @@ Extracting values:
|
|
|
153
153
|
|
|
154
154
|
**Currency rule:** All monetary values (`online_gpv_last_30_days`, `aov`, discount thresholds, shipping amounts) are in the site's `payment_currency`. Never assume USD. Always display and compute amounts using `payment_currency`.
|
|
155
155
|
|
|
156
|
-
**STOP if `merchant_business_country`, `
|
|
156
|
+
**STOP if `merchant_business_country`, `suggested_main_industry`, or `online_gpv_last_30_days` are missing or null.** Report: "Cannot generate recommendations — missing required site data: {fields}."
|
|
157
157
|
|
|
158
158
|
---
|
|
159
159
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "Setup: Discount Rules"
|
|
3
|
-
description: Configures automatic discount rules using the eCommerce Discount Rules API. Covers percentage and fixed-amount discounts, scope targeting (catalog-wide, specific collections, or individual products),
|
|
3
|
+
description: Configures automatic discount rules using the eCommerce Discount Rules API. Covers percentage and fixed-amount discounts, scope targeting (catalog-wide, specific collections, or individual products), scheduling active periods, and the find-by-name + update pattern.
|
|
4
4
|
layer: config
|
|
5
5
|
---
|
|
6
6
|
# Setup Discount Rules
|
|
@@ -20,23 +20,66 @@ layer: config
|
|
|
20
20
|
|
|
21
21
|
---
|
|
22
22
|
|
|
23
|
-
##
|
|
23
|
+
## Critical: `discounts` structure
|
|
24
|
+
|
|
25
|
+
**The API always returns the full normalized structure.** Never assume a simplified form. Each discount entry looks like:
|
|
26
|
+
|
|
27
|
+
```json
|
|
28
|
+
{
|
|
29
|
+
"targetType": "SPECIFIC_ITEMS",
|
|
30
|
+
"specificItemsInfo": {
|
|
31
|
+
"scopes": [
|
|
32
|
+
{
|
|
33
|
+
"id": "all_215238eb-22a5-4c36-9e7b-e7c08025e04e",
|
|
34
|
+
"type": "CATALOG_ITEM",
|
|
35
|
+
"catalogItemFilter": {
|
|
36
|
+
"catalogAppId": "215238eb-22a5-4c36-9e7b-e7c08025e04e"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
]
|
|
40
|
+
},
|
|
41
|
+
"discount": {
|
|
42
|
+
"discountType": "PERCENTAGE",
|
|
43
|
+
"percentage": 20
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
When updating a rule, always use the `discounts` array as returned from the query/get, modifying only the specific fields you need. **Do not reconstruct from scratch unless creating a new rule.**
|
|
49
|
+
|
|
50
|
+
---
|
|
24
51
|
|
|
25
|
-
|
|
52
|
+
## Step 1: Query existing discount rules
|
|
26
53
|
|
|
27
54
|
**Endpoint**: `POST https://www.wixapis.com/ecom/v1/discount-rules/query`
|
|
28
55
|
|
|
29
|
-
**
|
|
56
|
+
> **Paging**: This API uses **cursor paging** (`cursorPaging`), not offset paging. Using `paging` instead of `cursorPaging` will fail.
|
|
57
|
+
|
|
58
|
+
**Request** — list all rules:
|
|
30
59
|
```json
|
|
31
60
|
{
|
|
32
61
|
"query": {
|
|
33
|
-
"
|
|
62
|
+
"cursorPaging": {
|
|
34
63
|
"limit": 100
|
|
35
64
|
}
|
|
36
65
|
}
|
|
37
66
|
}
|
|
38
67
|
```
|
|
39
68
|
|
|
69
|
+
**Request** — find by name (exact match):
|
|
70
|
+
```json
|
|
71
|
+
{
|
|
72
|
+
"query": {
|
|
73
|
+
"filter": {
|
|
74
|
+
"name": { "$eq": "Summer Sale" }
|
|
75
|
+
},
|
|
76
|
+
"cursorPaging": { "limit": 10 }
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Filterable fields: `id`, `name`, `active`, `revision`, `created_date`, `updated_date`, `active_time_info.start`, `active_time_info.end`
|
|
82
|
+
|
|
40
83
|
**Response**:
|
|
41
84
|
```json
|
|
42
85
|
{
|
|
@@ -52,20 +95,28 @@ Before creating new rules, check what already exists to avoid conflicts.
|
|
|
52
95
|
},
|
|
53
96
|
"discounts": [
|
|
54
97
|
{
|
|
98
|
+
"targetType": "SPECIFIC_ITEMS",
|
|
99
|
+
"specificItemsInfo": {
|
|
100
|
+
"scopes": [
|
|
101
|
+
{
|
|
102
|
+
"id": "all_215238eb-22a5-4c36-9e7b-e7c08025e04e",
|
|
103
|
+
"type": "CATALOG_ITEM",
|
|
104
|
+
"catalogItemFilter": {
|
|
105
|
+
"catalogAppId": "215238eb-22a5-4c36-9e7b-e7c08025e04e"
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
]
|
|
109
|
+
},
|
|
55
110
|
"discount": {
|
|
56
111
|
"discountType": "PERCENTAGE",
|
|
57
112
|
"percentage": 10
|
|
58
|
-
},
|
|
59
|
-
"scope": {
|
|
60
|
-
"id": "catalog",
|
|
61
|
-
"type": "CATALOG"
|
|
62
113
|
}
|
|
63
114
|
}
|
|
64
115
|
]
|
|
65
116
|
}
|
|
66
117
|
],
|
|
67
118
|
"pagingMetadata": {
|
|
68
|
-
"
|
|
119
|
+
"cursors": {},
|
|
69
120
|
"hasNext": false
|
|
70
121
|
}
|
|
71
122
|
}
|
|
@@ -91,44 +142,27 @@ Note existing rules and their scopes to avoid stacking conflicts.
|
|
|
91
142
|
},
|
|
92
143
|
"discounts": [
|
|
93
144
|
{
|
|
94
|
-
"
|
|
95
|
-
|
|
96
|
-
"
|
|
145
|
+
"targetType": "SPECIFIC_ITEMS",
|
|
146
|
+
"specificItemsInfo": {
|
|
147
|
+
"scopes": [
|
|
148
|
+
{
|
|
149
|
+
"id": "all_215238eb-22a5-4c36-9e7b-e7c08025e04e",
|
|
150
|
+
"type": "CATALOG_ITEM",
|
|
151
|
+
"catalogItemFilter": {
|
|
152
|
+
"catalogAppId": "215238eb-22a5-4c36-9e7b-e7c08025e04e"
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
]
|
|
97
156
|
},
|
|
98
|
-
"scope": {
|
|
99
|
-
"id": "catalog",
|
|
100
|
-
"type": "CATALOG"
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
]
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
**Response**:
|
|
109
|
-
```json
|
|
110
|
-
{
|
|
111
|
-
"discountRule": {
|
|
112
|
-
"id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
|
|
113
|
-
"revision": "1",
|
|
114
|
-
"name": "Flash Sale 20% Off",
|
|
115
|
-
"active": true,
|
|
116
|
-
"activeTimeInfo": {
|
|
117
|
-
"start": "2026-05-01T00:00:00.000Z",
|
|
118
|
-
"end": "2026-05-03T23:59:59.000Z"
|
|
119
|
-
},
|
|
120
|
-
"discounts": [
|
|
121
|
-
{
|
|
122
157
|
"discount": {
|
|
123
158
|
"discountType": "PERCENTAGE",
|
|
124
159
|
"percentage": 20
|
|
125
|
-
},
|
|
126
|
-
"scope": {
|
|
127
|
-
"id": "catalog",
|
|
128
|
-
"type": "CATALOG"
|
|
129
160
|
}
|
|
130
161
|
}
|
|
131
|
-
]
|
|
162
|
+
],
|
|
163
|
+
"settings": {
|
|
164
|
+
"appliesTo": "ALL_ITEMS"
|
|
165
|
+
}
|
|
132
166
|
}
|
|
133
167
|
}
|
|
134
168
|
```
|
|
@@ -141,16 +175,30 @@ Note existing rules and their scopes to avoid stacking conflicts.
|
|
|
141
175
|
"active": true,
|
|
142
176
|
"discounts": [
|
|
143
177
|
{
|
|
178
|
+
"targetType": "SPECIFIC_ITEMS",
|
|
179
|
+
"specificItemsInfo": {
|
|
180
|
+
"scopes": [
|
|
181
|
+
{
|
|
182
|
+
"id": "collections_215238eb-22a5-4c36-9e7b-e7c08025e04e",
|
|
183
|
+
"type": "CUSTOM_FILTER",
|
|
184
|
+
"customFilter": {
|
|
185
|
+
"appId": "215238eb-22a5-4c36-9e7b-e7c08025e04e",
|
|
186
|
+
"params": {
|
|
187
|
+
"collectionIds": ["collection-uuid-here"]
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
]
|
|
192
|
+
},
|
|
144
193
|
"discount": {
|
|
145
194
|
"discountType": "PERCENTAGE",
|
|
146
195
|
"percentage": 15
|
|
147
|
-
},
|
|
148
|
-
"scope": {
|
|
149
|
-
"id": "collection-uuid-here",
|
|
150
|
-
"type": "COLLECTION"
|
|
151
196
|
}
|
|
152
197
|
}
|
|
153
|
-
]
|
|
198
|
+
],
|
|
199
|
+
"settings": {
|
|
200
|
+
"appliesTo": "ALL_ITEMS"
|
|
201
|
+
}
|
|
154
202
|
}
|
|
155
203
|
}
|
|
156
204
|
```
|
|
@@ -167,16 +215,28 @@ Note existing rules and their scopes to avoid stacking conflicts.
|
|
|
167
215
|
"active": true,
|
|
168
216
|
"discounts": [
|
|
169
217
|
{
|
|
218
|
+
"targetType": "SPECIFIC_ITEMS",
|
|
219
|
+
"specificItemsInfo": {
|
|
220
|
+
"scopes": [
|
|
221
|
+
{
|
|
222
|
+
"id": "specific_215238eb-22a5-4c36-9e7b-e7c08025e04e",
|
|
223
|
+
"type": "CATALOG_ITEM",
|
|
224
|
+
"catalogItemFilter": {
|
|
225
|
+
"catalogAppId": "215238eb-22a5-4c36-9e7b-e7c08025e04e",
|
|
226
|
+
"catalogItemIds": ["product-uuid-here"]
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
]
|
|
230
|
+
},
|
|
170
231
|
"discount": {
|
|
171
232
|
"discountType": "FIXED_AMOUNT",
|
|
172
233
|
"fixedAmount": "5.00"
|
|
173
|
-
},
|
|
174
|
-
"scope": {
|
|
175
|
-
"id": "product-uuid-here",
|
|
176
|
-
"type": "SPECIFIC_PRODUCTS"
|
|
177
234
|
}
|
|
178
235
|
}
|
|
179
|
-
]
|
|
236
|
+
],
|
|
237
|
+
"settings": {
|
|
238
|
+
"appliesTo": "ALL_ITEMS"
|
|
239
|
+
}
|
|
180
240
|
}
|
|
181
241
|
}
|
|
182
242
|
```
|
|
@@ -185,36 +245,107 @@ Note existing rules and their scopes to avoid stacking conflicts.
|
|
|
185
245
|
|
|
186
246
|
## Step 4: Update a discount rule
|
|
187
247
|
|
|
188
|
-
|
|
248
|
+
Always fetch the rule first (via Get or Query), then modify only the fields you need. The `mask` field tells the API which fields to update — omit it to replace all writable fields.
|
|
189
249
|
|
|
190
|
-
**
|
|
250
|
+
**Endpoint**: `PATCH https://www.wixapis.com/ecom/v1/discount-rules/{discountRule.id}`
|
|
251
|
+
|
|
252
|
+
**Required**: `discountRule.id`, `discountRule.revision` (must match current revision)
|
|
253
|
+
|
|
254
|
+
**Request** — change percentage on an existing rule (full discounts replacement):
|
|
191
255
|
```json
|
|
192
256
|
{
|
|
193
257
|
"discountRule": {
|
|
194
|
-
"id": "
|
|
258
|
+
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
|
195
259
|
"revision": "1",
|
|
196
|
-
"name": "Extended Flash Sale 25% Off",
|
|
197
260
|
"discounts": [
|
|
198
261
|
{
|
|
262
|
+
"targetType": "SPECIFIC_ITEMS",
|
|
263
|
+
"specificItemsInfo": {
|
|
264
|
+
"scopes": [
|
|
265
|
+
{
|
|
266
|
+
"id": "all_215238eb-22a5-4c36-9e7b-e7c08025e04e",
|
|
267
|
+
"type": "CATALOG_ITEM",
|
|
268
|
+
"catalogItemFilter": {
|
|
269
|
+
"catalogAppId": "215238eb-22a5-4c36-9e7b-e7c08025e04e"
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
]
|
|
273
|
+
},
|
|
199
274
|
"discount": {
|
|
200
275
|
"discountType": "PERCENTAGE",
|
|
201
276
|
"percentage": 25
|
|
202
|
-
},
|
|
203
|
-
"scope": {
|
|
204
|
-
"id": "catalog",
|
|
205
|
-
"type": "CATALOG"
|
|
206
277
|
}
|
|
207
278
|
}
|
|
208
279
|
]
|
|
280
|
+
},
|
|
281
|
+
"mask": { "paths": ["discounts"] }
|
|
282
|
+
}
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
**Request** — change only `active` status (field mask for partial update):
|
|
286
|
+
```json
|
|
287
|
+
{
|
|
288
|
+
"discountRule": {
|
|
289
|
+
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
|
290
|
+
"revision": "2",
|
|
291
|
+
"active": false
|
|
292
|
+
},
|
|
293
|
+
"mask": { "paths": ["active"] }
|
|
294
|
+
}
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
## Step 5: Find by name and update (complete pattern)
|
|
300
|
+
|
|
301
|
+
The safe pattern for "find a rule by name and update its percentage":
|
|
302
|
+
|
|
303
|
+
1. Query with name filter → get the rule's `id`, `revision`, and `discounts` array
|
|
304
|
+
2. Modify only the `discount.percentage` inside each discount entry, keeping all other fields intact
|
|
305
|
+
3. PATCH with the modified `discounts` and `mask: { paths: ["discounts"] }`
|
|
306
|
+
|
|
307
|
+
**Step 5a — Query by name**:
|
|
308
|
+
```json
|
|
309
|
+
POST https://www.wixapis.com/ecom/v1/discount-rules/query
|
|
310
|
+
{
|
|
311
|
+
"query": {
|
|
312
|
+
"filter": { "name": { "$eq": "My Rule Name" } },
|
|
313
|
+
"cursorPaging": { "limit": 1 }
|
|
209
314
|
}
|
|
210
315
|
}
|
|
211
316
|
```
|
|
212
317
|
|
|
213
|
-
|
|
318
|
+
Extract from response: `discountRules[0].id`, `discountRules[0].revision`, `discountRules[0].discounts`
|
|
319
|
+
|
|
320
|
+
**Step 5b — Update percentage** (modify the returned discounts in-place):
|
|
321
|
+
|
|
322
|
+
Take the `discounts` array from the query response and update only `discount.percentage` on each entry:
|
|
323
|
+
```json
|
|
324
|
+
PATCH https://www.wixapis.com/ecom/v1/discount-rules/{id}
|
|
325
|
+
{
|
|
326
|
+
"discountRule": {
|
|
327
|
+
"id": "<id from query>",
|
|
328
|
+
"revision": "<revision from query>",
|
|
329
|
+
"discounts": [
|
|
330
|
+
{
|
|
331
|
+
"targetType": "SPECIFIC_ITEMS",
|
|
332
|
+
"specificItemsInfo": { "<scopes unchanged from query response>" },
|
|
333
|
+
"discount": {
|
|
334
|
+
"discountType": "PERCENTAGE",
|
|
335
|
+
"percentage": 10
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
]
|
|
339
|
+
},
|
|
340
|
+
"mask": { "paths": ["discounts"] }
|
|
341
|
+
}
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
> **Important**: Copy `targetType`, `specificItemsInfo.scopes` verbatim from the query response — do not reconstruct them. Only change `discount.discountType` and `discount.percentage`/`discount.fixedAmount`.
|
|
214
345
|
|
|
215
346
|
---
|
|
216
347
|
|
|
217
|
-
## Step
|
|
348
|
+
## Step 6: Deactivate or delete a discount rule
|
|
218
349
|
|
|
219
350
|
To deactivate without deleting:
|
|
220
351
|
```json
|
|
@@ -223,7 +354,8 @@ To deactivate without deleting:
|
|
|
223
354
|
"id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
|
|
224
355
|
"revision": "2",
|
|
225
356
|
"active": false
|
|
226
|
-
}
|
|
357
|
+
},
|
|
358
|
+
"mask": { "paths": ["active"] }
|
|
227
359
|
}
|
|
228
360
|
```
|
|
229
361
|
|
|
@@ -237,23 +369,28 @@ To delete permanently:
|
|
|
237
369
|
|
|
238
370
|
| Field | Required | Notes |
|
|
239
371
|
|---|---|---|
|
|
240
|
-
| `name` | Yes | Internal name for the rule |
|
|
372
|
+
| `name` | Yes | Internal name for the rule. Filterable in query. |
|
|
241
373
|
| `active` | Yes | Whether the rule is currently applied |
|
|
242
374
|
| `activeTimeInfo.start` | No | ISO 8601 start time. Omit for immediate activation |
|
|
243
375
|
| `activeTimeInfo.end` | No | ISO 8601 end time. Omit for no expiration |
|
|
244
|
-
| `discounts[].
|
|
376
|
+
| `discounts[].targetType` | Yes | Always `"SPECIFIC_ITEMS"` for standard rules |
|
|
377
|
+
| `discounts[].specificItemsInfo.scopes[]` | Yes | Array of scope objects — see Scope types below |
|
|
378
|
+
| `discounts[].discount.discountType` | Yes | `"PERCENTAGE"` or `"FIXED_AMOUNT"` or `"FIXED_PRICE"` |
|
|
245
379
|
| `discounts[].discount.percentage` | If PERCENTAGE | Integer 1-100 |
|
|
246
380
|
| `discounts[].discount.fixedAmount` | If FIXED_AMOUNT | Decimal string (e.g., `"5.00"`) |
|
|
247
|
-
| `
|
|
248
|
-
| `
|
|
381
|
+
| `settings.appliesTo` | Yes on create | Always `"ALL_ITEMS"` |
|
|
382
|
+
| `revision` | On update/delete | Must match current value — fetch first |
|
|
383
|
+
| `mask.paths[]` | On update | Recommended — list fields being changed (e.g., `["discounts"]`, `["active"]`) |
|
|
249
384
|
|
|
250
385
|
## Scope types
|
|
251
386
|
|
|
252
|
-
| Scope
|
|
253
|
-
|
|
254
|
-
|
|
|
255
|
-
| `
|
|
256
|
-
| `
|
|
387
|
+
| Scope | `type` | `id` prefix | When to use |
|
|
388
|
+
|---|---|---|---|
|
|
389
|
+
| All products | `"CATALOG_ITEM"` | `all_<appId>` | `catalogItemFilter.catalogAppId` only, no `catalogItemIds` |
|
|
390
|
+
| Specific products | `"CATALOG_ITEM"` | `specific_<appId>` | `catalogItemFilter.catalogAppId` + `catalogItemFilter.catalogItemIds` |
|
|
391
|
+
| Collection | `"CUSTOM_FILTER"` | `collections_<appId>` | `customFilter.appId` + `customFilter.params.collectionIds` |
|
|
392
|
+
|
|
393
|
+
**Store catalog app ID** (required in all scopes): `215238eb-22a5-4c36-9e7b-e7c08025e04e`
|
|
257
394
|
|
|
258
395
|
## Recommendation → API Mapping
|
|
259
396
|
|
|
@@ -11,16 +11,16 @@ description: Configures a pickup option for an online store so customers can cho
|
|
|
11
11
|
|
|
12
12
|
## Required APIs
|
|
13
13
|
|
|
14
|
-
- [List Installed Delivery Carriers](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/
|
|
15
|
-
- [Query Delivery Profiles](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/
|
|
16
|
-
- [Add Delivery Region](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/
|
|
17
|
-
- [Add Delivery Carrier](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/
|
|
14
|
+
- [List Installed Delivery Carriers](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping#list-installed-delivery-carriers)
|
|
15
|
+
- [Query Delivery Profiles](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping#query-delivery-profiles)
|
|
16
|
+
- [Add Delivery Region](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping#add-delivery-region)
|
|
17
|
+
- [Add Delivery Carrier](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping#add-delivery-carrier)
|
|
18
18
|
|
|
19
19
|
---
|
|
20
20
|
|
|
21
21
|
## Step 1: Discover the Pickup carrier
|
|
22
22
|
|
|
23
|
-
Call [List Installed Delivery Carriers](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/
|
|
23
|
+
Call [List Installed Delivery Carriers](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping#list-installed-delivery-carriers) to find the Pickup carrier's `id`.
|
|
24
24
|
|
|
25
25
|
**Endpoint**: `GET https://www.wixapis.com/ecom/v1/delivery-profiles/installed-carriers`
|
|
26
26
|
|
|
@@ -53,7 +53,7 @@ If no Pickup carrier appears in the list, the Pickup app is not installed on the
|
|
|
53
53
|
|
|
54
54
|
## Step 2: Find the default delivery profile
|
|
55
55
|
|
|
56
|
-
Call [Query Delivery Profiles](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/
|
|
56
|
+
Call [Query Delivery Profiles](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping#query-delivery-profiles) to retrieve the site's default delivery profile.
|
|
57
57
|
|
|
58
58
|
**Endpoint**: `POST https://www.wixapis.com/ecom/v1/delivery-profiles/query`
|
|
59
59
|
|
|
@@ -72,7 +72,7 @@ The response contains an array of `deliveryProfiles`. Find the one where `"defau
|
|
|
72
72
|
|
|
73
73
|
## Step 3: Add a delivery region for the pickup country
|
|
74
74
|
|
|
75
|
-
If no region exists for the user's country in the default profile, call [Add Delivery Region](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/
|
|
75
|
+
If no region exists for the user's country in the default profile, call [Add Delivery Region](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping#add-delivery-region) to create one.
|
|
76
76
|
|
|
77
77
|
**Endpoint**: `POST https://www.wixapis.com/ecom/v1/delivery-profiles/{deliveryProfileId}/delivery-region`
|
|
78
78
|
|
|
@@ -130,7 +130,7 @@ Save the new region's `id` from the response.
|
|
|
130
130
|
|
|
131
131
|
## Step 4: Add the Pickup carrier to the region
|
|
132
132
|
|
|
133
|
-
Call [Add Delivery Carrier](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/
|
|
133
|
+
Call [Add Delivery Carrier](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping#add-delivery-carrier) to attach the Pickup carrier to the delivery region.
|
|
134
134
|
|
|
135
135
|
**Endpoint**: `POST https://www.wixapis.com/ecom/v1/delivery-profiles/add-delivery-carrier`
|
|
136
136
|
|
|
@@ -205,5 +205,4 @@ Call [Add Delivery Carrier](https://dev.wix.com/docs/api-reference/business-solu
|
|
|
205
205
|
|
|
206
206
|
## Related Documentation
|
|
207
207
|
|
|
208
|
-
- [
|
|
209
|
-
- [Delivery Profiles: Sample Flows](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/sample-flows)
|
|
208
|
+
- [API: Shipping Delivery](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping)
|
|
@@ -61,6 +61,7 @@ flowchart TB
|
|
|
61
61
|
setup-coupons
|
|
62
62
|
setup-shipping-regions
|
|
63
63
|
setup-shipping-rates
|
|
64
|
+
api-shipping
|
|
64
65
|
end
|
|
65
66
|
|
|
66
67
|
subgraph TrackingAPI["Tracking API"]
|
|
@@ -74,7 +75,7 @@ flowchart TB
|
|
|
74
75
|
troubleshoot-checkout-delivery-dropoff
|
|
75
76
|
end
|
|
76
77
|
|
|
77
|
-
Config -.-> |"calls via CallWixSiteAPI
|
|
78
|
+
Config -.-> |"calls via CallWixSiteAPI"| API
|
|
78
79
|
|
|
79
80
|
subgraph API["Wix REST API Docs (dev.wix.com)"]
|
|
80
81
|
D1["Discount Rules API"]
|
|
@@ -82,8 +83,6 @@ flowchart TB
|
|
|
82
83
|
D3["Products V3 API"]
|
|
83
84
|
D4["Categories API"]
|
|
84
85
|
D5["Catalog Analytics"]
|
|
85
|
-
S1["Delivery Profiles API"]
|
|
86
|
-
S2["Shipping Options API"]
|
|
87
86
|
S3["Pickup Locations API"]
|
|
88
87
|
S4["Local Delivery API"]
|
|
89
88
|
SD["Profile Service API (wix-profile-client)"]
|
|
@@ -100,7 +99,7 @@ flowchart TB
|
|
|
100
99
|
class goal-increase-aov,goal-clear-inventory,goal-seasonal-revenue,goal-drive-cross-sells,goal-reduce-cart-abandonment goal
|
|
101
100
|
class guardrail-discount-conflicts,guardrail-margin-protection,guardrail-shipping-health,guardrail-rate-pricing-sanity guardrail
|
|
102
101
|
class flow-upsell-boost,flow-bundle-and-save,flow-stock-mover,flow-seasonal-promotion,flow-fix-coverage-gaps,flow-add-free-shipping,flow-optimize-shipping-rates flow
|
|
103
|
-
class setup-discount-rules,setup-coupons,setup-shipping-regions,setup-shipping-rates,api-recommendation-tracking config
|
|
102
|
+
class setup-discount-rules,setup-coupons,setup-shipping-regions,setup-shipping-rates,api-recommendation-tracking,api-shipping config
|
|
104
103
|
class recommend-ecommerce-strategy reco
|
|
105
104
|
class recipe-apply-shipping-recommendations,setup-store-pickup-location,troubleshoot-discount-not-applying,troubleshoot-checkout-delivery-dropoff standalone
|
|
106
105
|
class D1,D2,D3,D4,D5,S1,S2,S3,S4,SD apidoc
|
|
@@ -132,6 +131,7 @@ flowchart TB
|
|
|
132
131
|
| `setup-coupons.md` | Step 4c (COUPON mechanism) |
|
|
133
132
|
| `setup-shipping-regions.md` | flow-fix-coverage-gaps chain |
|
|
134
133
|
| `setup-shipping-rates.md` | flow-add-free-shipping / optimize chains |
|
|
134
|
+
| `api-shipping.md` | Shipping flows (fix-coverage-gaps, add-free-shipping, optimize, recipe, setup-store-pickup) |
|
|
135
135
|
| `recipe-apply-shipping-recommendations.md` | README direct entry |
|
|
136
136
|
| `setup-store-pickup-location.md` | README direct entry |
|
|
137
137
|
| `troubleshoot-discount-not-applying.md` | README direct entry |
|
|
@@ -4,6 +4,8 @@ description: Creates a form with fields (name, email, etc.) using the Form Schem
|
|
|
4
4
|
---
|
|
5
5
|
# RECIPE: Create a Wix Form
|
|
6
6
|
|
|
7
|
+
> **Standard call shape (every curl below).** The `<AUTH>` placeholder is shorthand for `Authorization: Bearer <TOKEN>` only. Every actual call ALSO needs `wix-site-id: <SITE_ID>` and (for body-bearing requests) `Content-Type: application/json`. **POST against `form-schema-service/v4/forms` returns 403 without `wix-site-id`** — recipe examples below show `<AUTH>` only for brevity, but the header is required on every call you make. Token: `npx @wix/cli@latest token --site "$SITE_ID"`.
|
|
8
|
+
|
|
7
9
|
Create a form on a Wix site that appears in the Forms & Submissions dashboard. The form collects visitor information (e.g., name, email) and can automatically upsert contacts on submission.
|
|
8
10
|
|
|
9
11
|
---
|
|
@@ -4,6 +4,8 @@ description: Uses bulk products endpoint to create multiple products with invent
|
|
|
4
4
|
---
|
|
5
5
|
# RECIPE: Business Recipe - Bulk Creating Wix Store Products with inventory and options
|
|
6
6
|
|
|
7
|
+
> **Standard call shape (every curl below).** The `<AUTH>` placeholder is shorthand for `Authorization: Bearer <TOKEN>` only. Every actual call ALSO needs `wix-site-id: <SITE_ID>` and (for body-bearing requests) `Content-Type: application/json`. **POST against `stores/v3/bulk/*` returns 403 without `wix-site-id`** — recipe examples below show `<AUTH>` only for brevity, but the header is required on every call you make. Token: `npx @wix/cli@latest token --site "$SITE_ID"`.
|
|
8
|
+
|
|
7
9
|
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
10
|
|
|
9
11
|
---
|