@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,209 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "Setup: Store Pickup Location"
|
|
3
|
+
description: Configures a pickup option for an online store so customers can choose in-store pickup at checkout. Uses the Delivery Profiles API to discover the Pickup carrier, add a delivery region, and attach the carrier with a free pickup rate.
|
|
4
|
+
---
|
|
5
|
+
# Set Up Store Pickup Location
|
|
6
|
+
|
|
7
|
+
## Prerequisites
|
|
8
|
+
|
|
9
|
+
- Wix Stores (or another eCommerce business solution) installed on the site
|
|
10
|
+
- The **Pickup** carrier must be installed on the site (it is a built-in carrier, not a third-party app)
|
|
11
|
+
|
|
12
|
+
## Required APIs
|
|
13
|
+
|
|
14
|
+
- [List Installed Delivery Carriers](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/list-installed-delivery-carriers)
|
|
15
|
+
- [Query Delivery Profiles](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/query-delivery-profiles)
|
|
16
|
+
- [Add Delivery Region](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/add-delivery-region)
|
|
17
|
+
- [Add Delivery Carrier](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/add-delivery-carrier)
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Step 1: Discover the Pickup carrier
|
|
22
|
+
|
|
23
|
+
Call [List Installed Delivery Carriers](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/list-installed-delivery-carriers) to find the Pickup carrier's `id`.
|
|
24
|
+
|
|
25
|
+
**Endpoint**: `GET https://www.wixapis.com/ecom/v1/delivery-profiles/installed-carriers`
|
|
26
|
+
|
|
27
|
+
**Response**:
|
|
28
|
+
```json
|
|
29
|
+
{
|
|
30
|
+
"installedDeliveryCarriers": [
|
|
31
|
+
{
|
|
32
|
+
"id": "50d8c12f-715e-41ad-be25-d0f61375dbee",
|
|
33
|
+
"displayName": "Pickup",
|
|
34
|
+
"fallbackDefinitionMandatory": false,
|
|
35
|
+
"toggleGetCarrierSettingsEnabled": true
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"id": "45c44b27-ca7b-4891-8c0d-1747d588b835",
|
|
39
|
+
"displayName": "Basic Shipping",
|
|
40
|
+
"description": "Manage shipping rates and options for this region",
|
|
41
|
+
"fallbackDefinitionMandatory": false,
|
|
42
|
+
"toggleGetCarrierSettingsEnabled": true
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Look for the carrier with `"displayName": "Pickup"` and save its `id`. This is the `appId` you will use in Step 4.
|
|
49
|
+
|
|
50
|
+
If no Pickup carrier appears in the list, the Pickup app is not installed on the site and must be installed before proceeding.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Step 2: Find the default delivery profile
|
|
55
|
+
|
|
56
|
+
Call [Query Delivery Profiles](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/query-delivery-profiles) to retrieve the site's default delivery profile.
|
|
57
|
+
|
|
58
|
+
**Endpoint**: `POST https://www.wixapis.com/ecom/v1/delivery-profiles/query`
|
|
59
|
+
|
|
60
|
+
**Request**:
|
|
61
|
+
```json
|
|
62
|
+
{}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
The response contains an array of `deliveryProfiles`. Find the one where `"default": true`. Save its `id` and `revision`. Inspect its `deliveryRegions` array.
|
|
66
|
+
|
|
67
|
+
**Decision point:**
|
|
68
|
+
- **Region exists for the user's country** (match on `destinations[].countryCode`): save that region's `id` → skip to Step 4.
|
|
69
|
+
- **No matching region**: proceed to Step 3.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Step 3: Add a delivery region for the pickup country
|
|
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/shipping-delivery/delivery-profiles/add-delivery-region) to create one.
|
|
76
|
+
|
|
77
|
+
**Endpoint**: `POST https://www.wixapis.com/ecom/v1/delivery-profiles/{deliveryProfileId}/delivery-region`
|
|
78
|
+
|
|
79
|
+
Replace `{deliveryProfileId}` with the default profile's `id` from Step 2.
|
|
80
|
+
|
|
81
|
+
**Request**:
|
|
82
|
+
```json
|
|
83
|
+
{
|
|
84
|
+
"deliveryRegion": {
|
|
85
|
+
"name": "US Pickup",
|
|
86
|
+
"active": true,
|
|
87
|
+
"destinations": [
|
|
88
|
+
{
|
|
89
|
+
"countryCode": "US"
|
|
90
|
+
}
|
|
91
|
+
]
|
|
92
|
+
},
|
|
93
|
+
"revision": "3"
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
- `name`: descriptive, e.g. `"{Country} Pickup"`.
|
|
98
|
+
- `countryCode`: [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) code (e.g. `"US"`, `"IL"`, `"DE"`, `"GB"`).
|
|
99
|
+
- `revision`: from the profile returned in Step 2.
|
|
100
|
+
|
|
101
|
+
**Response**:
|
|
102
|
+
```json
|
|
103
|
+
{
|
|
104
|
+
"deliveryProfile": {
|
|
105
|
+
"id": "02625bf4-70b4-49b7-93f0-5c9d72608937",
|
|
106
|
+
"name": "General profile",
|
|
107
|
+
"default": true,
|
|
108
|
+
"deliveryRegions": [
|
|
109
|
+
{
|
|
110
|
+
"id": "23823d4a-0ad2-4f92-a48a-467497a9470a",
|
|
111
|
+
"name": "US Pickup",
|
|
112
|
+
"active": true,
|
|
113
|
+
"deliveryCarriers": [],
|
|
114
|
+
"destinations": [
|
|
115
|
+
{
|
|
116
|
+
"countryCode": "US",
|
|
117
|
+
"subdivisions": []
|
|
118
|
+
}
|
|
119
|
+
]
|
|
120
|
+
}
|
|
121
|
+
],
|
|
122
|
+
"revision": "4"
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Save the new region's `id` from the response.
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Step 4: Add the Pickup carrier to the region
|
|
132
|
+
|
|
133
|
+
Call [Add Delivery Carrier](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/add-delivery-carrier) to attach the Pickup carrier to the delivery region.
|
|
134
|
+
|
|
135
|
+
**Endpoint**: `POST https://www.wixapis.com/ecom/v1/delivery-profiles/add-delivery-carrier`
|
|
136
|
+
|
|
137
|
+
**Request**:
|
|
138
|
+
```json
|
|
139
|
+
{
|
|
140
|
+
"deliveryRegionId": "<REGION_ID>",
|
|
141
|
+
"deliveryCarrier": {
|
|
142
|
+
"appId": "50d8c12f-715e-41ad-be25-d0f61375dbee",
|
|
143
|
+
"backupRate": {
|
|
144
|
+
"title": "Pickup at 123 Main St, New York",
|
|
145
|
+
"amount": "0",
|
|
146
|
+
"active": true
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
- `deliveryRegionId`: from Step 2 (existing region) or Step 3 (new region).
|
|
153
|
+
- `appId`: the Pickup carrier `id` from Step 1.
|
|
154
|
+
- `backupRate.title`: the pickup address customers see at checkout.
|
|
155
|
+
- `backupRate.amount`: `"0"` for free pickup, or a price string like `"5.00"`.
|
|
156
|
+
- `backupRate.active`: must be `true` for the option to appear at checkout.
|
|
157
|
+
|
|
158
|
+
**Response**:
|
|
159
|
+
```json
|
|
160
|
+
{
|
|
161
|
+
"deliveryProfile": {
|
|
162
|
+
"id": "02625bf4-70b4-49b7-93f0-5c9d72608937",
|
|
163
|
+
"name": "General profile",
|
|
164
|
+
"default": true,
|
|
165
|
+
"deliveryRegions": [
|
|
166
|
+
{
|
|
167
|
+
"id": "23823d4a-0ad2-4f92-a48a-467497a9470a",
|
|
168
|
+
"name": "US Pickup",
|
|
169
|
+
"active": true,
|
|
170
|
+
"deliveryCarriers": [
|
|
171
|
+
{
|
|
172
|
+
"appId": "50d8c12f-715e-41ad-be25-d0f61375dbee",
|
|
173
|
+
"backupRate": {
|
|
174
|
+
"title": "Pickup at 123 Main St, New York",
|
|
175
|
+
"amount": "0",
|
|
176
|
+
"active": true
|
|
177
|
+
},
|
|
178
|
+
"additionalCharges": []
|
|
179
|
+
}
|
|
180
|
+
],
|
|
181
|
+
"destinations": [
|
|
182
|
+
{
|
|
183
|
+
"countryCode": "US",
|
|
184
|
+
"subdivisions": []
|
|
185
|
+
}
|
|
186
|
+
]
|
|
187
|
+
}
|
|
188
|
+
],
|
|
189
|
+
"revision": "5"
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## Error Handling
|
|
197
|
+
|
|
198
|
+
| Error | Cause | Fix |
|
|
199
|
+
|-------|-------|-----|
|
|
200
|
+
| `DESTINATIONS_COLLISION` | The country is already assigned to another region in the same profile. | Skip Step 3 — use the existing region's `id` and add the carrier to it in Step 4. |
|
|
201
|
+
| `CARRIER_ALREADY_EXISTS_IN_REGION` | The Pickup carrier is already configured in this region. | The pickup option is already set up. No action needed. |
|
|
202
|
+
| `DELIVERY_CARRIER_MISSING_BACKUP_RATE` | The `backupRate` or `backupRate.amount` field is missing. | Ensure `backupRate` includes `title`, `amount`, and `active`. |
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## Related Documentation
|
|
207
|
+
|
|
208
|
+
- [Delivery Profiles: Introduction](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/introduction)
|
|
209
|
+
- [Delivery Profiles: Sample Flows](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/sample-flows)
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "eCommerce Skill Graph"
|
|
3
|
+
description: Mermaid diagram showing how eCommerce skills connect — unified strategy entry point, goal/flow/guardrail chain, tracking inlined, troubleshoot as direct entries.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Skill Graph Diagram
|
|
7
|
+
|
|
8
|
+
```mermaid
|
|
9
|
+
flowchart TB
|
|
10
|
+
MR["Merchant Request"] --> R
|
|
11
|
+
|
|
12
|
+
subgraph R["R — Unified Entry Point"]
|
|
13
|
+
recommend-ecommerce-strategy
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
R --> |"loads API ref"| Config
|
|
17
|
+
R --> |"Step 4b: loads matching goal"| Goals
|
|
18
|
+
R --> |"Step 2+8: tracking inlined"| TrackingAPI
|
|
19
|
+
|
|
20
|
+
subgraph Goals["Goals — Business Objectives"]
|
|
21
|
+
subgraph GD["Discount + Shipping"]
|
|
22
|
+
goal-increase-aov
|
|
23
|
+
goal-clear-inventory
|
|
24
|
+
goal-seasonal-revenue
|
|
25
|
+
goal-drive-cross-sells
|
|
26
|
+
end
|
|
27
|
+
subgraph GA["Abandoned Cart"]
|
|
28
|
+
goal-reduce-cart-abandonment
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
Goals --> |"loads matching flows"| Flows
|
|
33
|
+
goal-increase-aov --> |"also loads shipping flows"| FS
|
|
34
|
+
|
|
35
|
+
subgraph Flows["Flows — Business Logic"]
|
|
36
|
+
subgraph FD["Discount"]
|
|
37
|
+
flow-upsell-boost
|
|
38
|
+
flow-bundle-and-save
|
|
39
|
+
flow-stock-mover
|
|
40
|
+
flow-seasonal-promotion
|
|
41
|
+
end
|
|
42
|
+
subgraph FS["Shipping"]
|
|
43
|
+
flow-fix-coverage-gaps
|
|
44
|
+
flow-add-free-shipping
|
|
45
|
+
flow-optimize-shipping-rates
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
Flows --> |"loads validation"| Guardrails
|
|
50
|
+
Flows --> |"loads setup"| Config
|
|
51
|
+
|
|
52
|
+
subgraph Guardrails["Cross-cutting: Guardrails"]
|
|
53
|
+
guardrail-discount-conflicts
|
|
54
|
+
guardrail-margin-protection
|
|
55
|
+
guardrail-shipping-health
|
|
56
|
+
guardrail-rate-pricing-sanity
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
subgraph Config["Config — Setup & API References"]
|
|
60
|
+
setup-discount-rules
|
|
61
|
+
setup-coupons
|
|
62
|
+
setup-shipping-regions
|
|
63
|
+
setup-shipping-rates
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
subgraph TrackingAPI["Tracking API"]
|
|
67
|
+
api-recommendation-tracking
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
subgraph Standalone["Direct Entry Points (from README)"]
|
|
71
|
+
recipe-apply-shipping-recommendations
|
|
72
|
+
setup-store-pickup-location
|
|
73
|
+
troubleshoot-discount-not-applying
|
|
74
|
+
troubleshoot-checkout-delivery-dropoff
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
Config -.-> |"calls via CallWixSiteAPI / ReadFullDocsArticle"| API
|
|
78
|
+
|
|
79
|
+
subgraph API["Wix REST API Docs (dev.wix.com)"]
|
|
80
|
+
D1["Discount Rules API"]
|
|
81
|
+
D2["Coupons API"]
|
|
82
|
+
D3["Products V3 API"]
|
|
83
|
+
D4["Categories API"]
|
|
84
|
+
D5["Catalog Analytics"]
|
|
85
|
+
S1["Delivery Profiles API"]
|
|
86
|
+
S2["Shipping Options API"]
|
|
87
|
+
S3["Pickup Locations API"]
|
|
88
|
+
S4["Local Delivery API"]
|
|
89
|
+
SD["Profile Service API (wix-profile-client)"]
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
classDef goal fill:#8b5cf6,stroke:#6d28d9,color:#fff
|
|
93
|
+
classDef guardrail fill:#ef4444,stroke:#dc2626,color:#fff
|
|
94
|
+
classDef flow fill:#3b82f6,stroke:#2563eb,color:#fff
|
|
95
|
+
classDef config fill:#f59e0b,stroke:#d97706,color:#fff
|
|
96
|
+
classDef reco fill:#ec4899,stroke:#db2777,color:#fff
|
|
97
|
+
classDef standalone fill:#6b7280,stroke:#4b5563,color:#fff
|
|
98
|
+
classDef apidoc fill:#e5e7eb,stroke:#9ca3af,color:#374151
|
|
99
|
+
|
|
100
|
+
class goal-increase-aov,goal-clear-inventory,goal-seasonal-revenue,goal-drive-cross-sells,goal-reduce-cart-abandonment goal
|
|
101
|
+
class guardrail-discount-conflicts,guardrail-margin-protection,guardrail-shipping-health,guardrail-rate-pricing-sanity guardrail
|
|
102
|
+
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
|
|
104
|
+
class recommend-ecommerce-strategy reco
|
|
105
|
+
class recipe-apply-shipping-recommendations,setup-store-pickup-location,troubleshoot-discount-not-applying,troubleshoot-checkout-delivery-dropoff standalone
|
|
106
|
+
class D1,D2,D3,D4,D5,S1,S2,S3,S4,SD apidoc
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## File Reachability
|
|
110
|
+
|
|
111
|
+
| File | Reached via |
|
|
112
|
+
|---|---|
|
|
113
|
+
| `recommend-ecommerce-strategy.md` | README routing (entry point) |
|
|
114
|
+
| `api-recommendation-tracking.md` | Entry point tracking steps |
|
|
115
|
+
| `goal-increase-aov.md` | Step 4b (UPSELL_BOOST) |
|
|
116
|
+
| `goal-clear-inventory.md` | Step 4b (STOCK_MOVER) |
|
|
117
|
+
| `goal-seasonal-revenue.md` | Step 4b (SEASONAL) |
|
|
118
|
+
| `goal-drive-cross-sells.md` | Step 4b (BUNDLE_AND_SAVE) |
|
|
119
|
+
| `goal-reduce-cart-abandonment.md` | Step 4b (ABANDONED_CART domain) |
|
|
120
|
+
| `flow-upsell-boost.md` | goal-increase-aov chain |
|
|
121
|
+
| `flow-bundle-and-save.md` | goal-increase-aov / goal-drive-cross-sells chain |
|
|
122
|
+
| `flow-stock-mover.md` | goal-clear-inventory chain |
|
|
123
|
+
| `flow-seasonal-promotion.md` | goal-seasonal-revenue chain |
|
|
124
|
+
| `flow-fix-coverage-gaps.md` | goal-reduce-cart-abandonment chain (critical operational fix) |
|
|
125
|
+
| `flow-add-free-shipping.md` | goal-increase-aov chain (shipping flows serving AOV) |
|
|
126
|
+
| `flow-optimize-shipping-rates.md` | goal-increase-aov chain (shipping flows serving AOV) |
|
|
127
|
+
| `guardrail-discount-conflicts.md` | flow-upsell-boost / bundle / stock / seasonal chains |
|
|
128
|
+
| `guardrail-margin-protection.md` | flow-upsell-boost / stock-mover chains |
|
|
129
|
+
| `guardrail-shipping-health.md` | flow-fix-coverage-gaps chain |
|
|
130
|
+
| `guardrail-rate-pricing-sanity.md` | flow-add-free-shipping / optimize chains |
|
|
131
|
+
| `setup-discount-rules.md` | All discount flow chains |
|
|
132
|
+
| `setup-coupons.md` | Step 4c (COUPON mechanism) |
|
|
133
|
+
| `setup-shipping-regions.md` | flow-fix-coverage-gaps chain |
|
|
134
|
+
| `setup-shipping-rates.md` | flow-add-free-shipping / optimize chains |
|
|
135
|
+
| `recipe-apply-shipping-recommendations.md` | README direct entry |
|
|
136
|
+
| `setup-store-pickup-location.md` | README direct entry |
|
|
137
|
+
| `troubleshoot-discount-not-applying.md` | README direct entry |
|
|
138
|
+
| `troubleshoot-checkout-delivery-dropoff.md` | README direct entry |
|
|
139
|
+
| `skill-graph.md` | Documentation reference |
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "Troubleshoot: Checkout Delivery Drop-off"
|
|
3
|
+
description: Diagnostic tree for when delivery step conversion is below benchmark. Correlates shipping issues with checkout abandonment and calculates revenue impact.
|
|
4
|
+
layer: troubleshoot
|
|
5
|
+
---
|
|
6
|
+
# Troubleshoot: Checkout Delivery Drop-off
|
|
7
|
+
|
|
8
|
+
## When to use
|
|
9
|
+
|
|
10
|
+
Use this diagnostic tree when analyzing checkout funnel performance and the delivery step shows elevated abandonment. The delivery step is where customers choose their shipping method — drop-off here directly indicates shipping-related friction.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Step 1: Check delivery step conversion rate
|
|
15
|
+
|
|
16
|
+
Compare `delivery_step_cvr` against the benchmark of **65%**.
|
|
17
|
+
|
|
18
|
+
### Interpretation
|
|
19
|
+
|
|
20
|
+
| CVR range | Interpretation | Action |
|
|
21
|
+
|---|---|---|
|
|
22
|
+
| cvr < benchmark (65%) AND shipping issues detected | Correlate specific issues to conversion drop | Proceed to full diagnostic |
|
|
23
|
+
| cvr ≥ benchmark (65%) | Do NOT cite CVR gap as justification | Focus on best practices, not recovery |
|
|
24
|
+
| cvr ≥ 90% | Excellent — note strong performance | Focus on maintaining, not fixing |
|
|
25
|
+
|
|
26
|
+
**Important**: If the CVR is at or above benchmark, do not frame recommendations as fixing a conversion problem. Only cite CVR gap when the data supports it.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Step 2: Calculate revenue impact
|
|
31
|
+
|
|
32
|
+
Use this formula to quantify the business impact of the delivery step drop-off:
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
revenue_impact = (benchmark_delivery_cvr - delivery_step_cvr) / 100 × total_checkouts × aov
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
**Example**: If benchmark is 65%, current CVR is 55%, with 2,000 checkouts/month and $80 AOV:
|
|
39
|
+
- `(65 - 55) / 100 × 2000 × 80 = $16,000/month` in potential lost revenue.
|
|
40
|
+
|
|
41
|
+
### High traffic amplifier
|
|
42
|
+
|
|
43
|
+
If `visitors > 30,000` (approximately 1,000+ per day) AND a HIGH-severity shipping issue is detected, include a daily revenue impact estimate to emphasize urgency:
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
daily_impact = revenue_impact / 30
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
> "At your traffic volume, this shipping issue may be costing approximately ${daily_impact} per day."
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Step 3: Assign priority
|
|
54
|
+
|
|
55
|
+
Based on the gap between current CVR and benchmark:
|
|
56
|
+
|
|
57
|
+
| Gap | Priority | Urgency |
|
|
58
|
+
|---|---|---|
|
|
59
|
+
| Gap > 10 percentage points | **HIGH** | Address immediately — significant revenue loss |
|
|
60
|
+
| Gap 5-10 percentage points | **MEDIUM** | Address soon — meaningful improvement opportunity |
|
|
61
|
+
| Gap < 5 percentage points | **LOW** | Optimize when convenient — incremental gains |
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Step 4: Identify common causes
|
|
66
|
+
|
|
67
|
+
Check for these known shipping issues that correlate with delivery step drop-off:
|
|
68
|
+
|
|
69
|
+
1. **No free shipping option**: Stores without any free shipping option see higher delivery-step abandonment. Customers expect at least a conditional free shipping tier.
|
|
70
|
+
|
|
71
|
+
2. **Missing delivery estimates**: Shipping options without estimated delivery times create uncertainty. Customers abandon when they don't know when their order will arrive.
|
|
72
|
+
|
|
73
|
+
3. **Per-item pricing (`multiplyByQuantity`)**: Customers adding multiple items see shipping costs spike unexpectedly at checkout.
|
|
74
|
+
|
|
75
|
+
4. **Coverage gaps**: Customer's delivery address falls outside configured shipping regions. The checkout shows no available shipping methods.
|
|
76
|
+
|
|
77
|
+
5. **Inactive backup rates**: When the primary carrier can't fulfill and no backup rate is configured, the customer sees no shipping options.
|
|
78
|
+
|
|
79
|
+
6. **Options on inactive regions**: Shipping options configured for regions that are set to `active: false` are not available at checkout.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Step 5: Run diagnostic sequence
|
|
84
|
+
|
|
85
|
+
Follow this sequence to systematically identify the root cause:
|
|
86
|
+
|
|
87
|
+
### 5.1 Check configuration completeness
|
|
88
|
+
- Are delivery profiles configured?
|
|
89
|
+
- Are regions active?
|
|
90
|
+
- Are shipping options assigned to active regions?
|
|
91
|
+
|
|
92
|
+
### 5.2 Check coverage gaps
|
|
93
|
+
- Do the configured regions cover the store's primary customer geographies?
|
|
94
|
+
- Are there common destination countries/states missing from region definitions?
|
|
95
|
+
|
|
96
|
+
### 5.3 Check free shipping presence
|
|
97
|
+
- Is there at least one free shipping option (unconditional or threshold-based)?
|
|
98
|
+
- If threshold-based, is the threshold achievable relative to AOV?
|
|
99
|
+
|
|
100
|
+
### 5.4 Check rate pricing sanity
|
|
101
|
+
- Are any rates exceeding 15% of AOV?
|
|
102
|
+
- Is `multiplyByQuantity` enabled on any rate?
|
|
103
|
+
- See the **Guardrail: Rate Pricing Sanity** skill for detailed checks.
|
|
104
|
+
|
|
105
|
+
### 5.5 Check backup rates
|
|
106
|
+
- Are backup rates configured on carriers?
|
|
107
|
+
- Are backup rate amounts reasonable (5-10% of AOV)?
|
|
108
|
+
|
|
109
|
+
### 5.6 Correlate findings with CVR impact
|
|
110
|
+
- For each issue found, estimate its contribution to the CVR gap.
|
|
111
|
+
- Prioritize fixes by expected conversion recovery.
|
|
112
|
+
- Present findings in order of impact, with revenue estimates where possible.
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Summary: Diagnostic checklist
|
|
117
|
+
|
|
118
|
+
| Step | Check | What to look for |
|
|
119
|
+
|---|---|---|
|
|
120
|
+
| 1 | CVR vs benchmark | Is there actually a gap to address? |
|
|
121
|
+
| 2 | Revenue impact | Quantify the business cost |
|
|
122
|
+
| 3 | Priority | HIGH (>10pt gap), MEDIUM (5-10pt), LOW (<5pt) |
|
|
123
|
+
| 4 | Common causes | Free shipping, estimates, per-item, coverage, backups |
|
|
124
|
+
| 5 | Diagnostic sequence | Config → coverage → free shipping → rates → backups → correlate |
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "Troubleshoot: Discount Not Applying"
|
|
3
|
+
description: Diagnostic tree for when a discount rule exists but isn't applying at checkout. Checks active status, time window, scope targeting, revision, and app installation.
|
|
4
|
+
layer: troubleshoot
|
|
5
|
+
---
|
|
6
|
+
# Troubleshoot: Discount Not Applying
|
|
7
|
+
|
|
8
|
+
## When to use
|
|
9
|
+
|
|
10
|
+
Use this diagnostic tree when a merchant reports that a discount rule exists but products are not showing the discounted price at checkout or in the storefront.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Step 1: Check rule active status
|
|
15
|
+
|
|
16
|
+
Query the discount rule by ID and verify the `active` field.
|
|
17
|
+
|
|
18
|
+
- If `active: false` → **Resolution**: "The rule is deactivated. Set `active: true` to enable it."
|
|
19
|
+
- If `active: true` → proceed to Step 2.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Step 2: Check time window
|
|
24
|
+
|
|
25
|
+
Examine the `activeTimeInfo` field on the discount rule.
|
|
26
|
+
|
|
27
|
+
- If `activeTimeInfo` does not exist → the rule has no time constraints, proceed to Step 3.
|
|
28
|
+
- If `activeTimeInfo` exists:
|
|
29
|
+
- Is the current date/time within the `start` and `end` range?
|
|
30
|
+
- If the current date is before `start` → **Resolution**: "The campaign hasn't started yet. It begins on {startDate}."
|
|
31
|
+
- If the current date is after `end` → **Resolution**: "The campaign ended on {endDate}. Update or remove the time window to re-enable."
|
|
32
|
+
- If within range → proceed to Step 3.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Step 3: Check scope targeting
|
|
37
|
+
|
|
38
|
+
Examine the discount rule's scope configuration:
|
|
39
|
+
|
|
40
|
+
### CATALOG scope
|
|
41
|
+
- Should apply to all products. If it's not applying, skip to Step 5 (app installation check).
|
|
42
|
+
|
|
43
|
+
### COLLECTION scope
|
|
44
|
+
- Verify that `categoryIds` contain valid GUIDs, not collection names.
|
|
45
|
+
- Common mistake: using the collection name string instead of its GUID.
|
|
46
|
+
- Call `getCategoryIds` or query collections to validate that each ID resolves to an existing collection.
|
|
47
|
+
- If any ID is invalid → **Resolution**: "The collection ID '{id}' does not match any existing collection. Use the collection GUID, not the display name."
|
|
48
|
+
|
|
49
|
+
### SPECIFIC_PRODUCTS scope
|
|
50
|
+
- Verify that each `productId` in the rule exists in the store catalog.
|
|
51
|
+
- Query products to confirm each ID resolves.
|
|
52
|
+
- If any product was deleted → **Resolution**: "Product '{id}' no longer exists in the catalog. Remove it from the discount rule or replace it with a valid product ID."
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Step 4: Check revision
|
|
57
|
+
|
|
58
|
+
Was the rule recently updated? A revision mismatch indicates the update failed silently.
|
|
59
|
+
|
|
60
|
+
- Query the current rule and compare the `revision` field against the expected value.
|
|
61
|
+
- If the revision does not match what was expected after an update → **Resolution**: "The last update to this rule may have failed. The current revision is {currentRevision}. Try updating the rule again with the correct revision number."
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Step 5: Check app installation
|
|
66
|
+
|
|
67
|
+
Is the Wix Stores or eCommerce app installed on the site?
|
|
68
|
+
|
|
69
|
+
- Error code `WDE0110: Wix Code not enabled` → **Resolution**: "The Wix Stores app is not installed. Install Wix Stores first, then the discount rule will take effect."
|
|
70
|
+
- If the eCommerce platform is not fully set up, discount rules cannot be evaluated at checkout.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Step 6: Check stacking interference
|
|
75
|
+
|
|
76
|
+
Are other active discount rules conflicting with or overriding this one?
|
|
77
|
+
|
|
78
|
+
1. Query all active discount rules.
|
|
79
|
+
2. Check for scope overlap with the problematic rule.
|
|
80
|
+
3. Some discount combinations may cause unexpected behavior where one rule appears to "not apply" because another rule takes precedence.
|
|
81
|
+
|
|
82
|
+
**Resolution**: "There are {count} other active discount rules that overlap with this rule's scope. Review them to check if another rule is taking priority or if stacking behavior is masking this rule's effect."
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Summary: Diagnostic checklist
|
|
87
|
+
|
|
88
|
+
| Step | Check | Common resolution |
|
|
89
|
+
|---|---|---|
|
|
90
|
+
| 1 | `active` field | Set `active: true` |
|
|
91
|
+
| 2 | Time window | Update or remove expired `activeTimeInfo` |
|
|
92
|
+
| 3 | Scope targeting | Fix invalid collection/product GUIDs |
|
|
93
|
+
| 4 | Revision mismatch | Retry the update with correct revision |
|
|
94
|
+
| 5 | App installation | Install Wix Stores app |
|
|
95
|
+
| 6 | Stacking interference | Review and resolve overlapping rules |
|