@wix/agent-skills 1.15.0 → 1.16.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 +5 -1
- package/package.json +1 -1
- package/skills/wix-app/SKILL.md +4 -1
- package/skills/wix-app/references/APP_TOOLS.md +134 -0
- package/skills/wix-app/references/CUSTOM_ELEMENT_WIDGET.md +1 -1
- package/skills/wix-app/references/DASHBOARD_PAGE.md +0 -10
- package/skills/wix-app/references/DATA_COLLECTION.md +6 -4
- package/skills/wix-app/references/EDITOR_REACT_COMPONENT.md +28 -7
- package/skills/wix-app/references/SERVICE_PLUGIN.md +12 -10
- package/skills/wix-app/references/STORES_VERSIONING.md +9 -211
- package/skills/wix-app/references/app-tools/TOOLS.md +75 -0
- package/skills/wix-app/references/backend-event/COMMON-EVENTS.md +5 -0
- package/skills/wix-app/references/dashboard-page/DASHBOARD_API.md +2 -2
- package/skills/wix-app/references/editor-react-component/A11Y-REVIEW-REFERENCE.md +172 -0
- package/skills/wix-app/references/editor-react-component/A11Y-REVIEW.md +138 -0
- package/skills/wix-app/references/editor-react-component/ANIMATED-COMPONENTS.md +172 -0
- package/skills/wix-app/references/editor-react-component/BRANDED-COMPONENTS.md +29 -0
- package/skills/wix-app/references/editor-react-component/COMPONENT-API.md +1 -1
- package/skills/wix-app/references/editor-react-component/COMPONENT-PREVIEW.md +57 -0
- package/skills/wix-app/references/editor-react-component/CSS-GUIDELINES.md +33 -2
- package/skills/wix-app/references/editor-react-component/DESIGN-STATES.md +5 -3
- package/skills/wix-app/references/editor-react-component/DIRECTIONALITY.md +18 -1
- package/skills/wix-app/references/editor-react-component/PARTS.md +15 -2
- package/skills/wix-app/references/editor-react-component/REACT-GUIDELINES.md +4 -3
- package/skills/wix-app/references/service-plugin/BOOKINGS-STAFF-SORTING.md +13 -9
- package/skills/wix-app/references/service-plugin/DISCOUNT-TRIGGERS.md +4 -0
- package/skills/wix-app/references/service-plugin/GIFT-CARDS.md +4 -0
- package/skills/wix-app/references/service-plugin/PAYMENT-SETTINGS.md +3 -1
- package/skills/wix-app/references/service-plugin/SHIPPING-RATES.md +4 -0
- package/skills/wix-app/references/service-plugin/TOOLS_PROVIDER.md +54 -0
- package/skills/wix-app/references/stores/CATEGORIES.md +22 -0
- package/skills/wix-app/references/stores/GET_PRODUCT.md +99 -0
- package/skills/wix-app/references/stores/INVENTORY.md +37 -0
- package/skills/wix-app/references/stores/QUERY.md +119 -0
- package/skills/wix-app/references/stores/WRITE.md +55 -0
- package/skills/wix-docs/SKILL.md +35 -3
- package/skills/wix-headless/SKILL.md +9 -2
- package/skills/wix-headless/entry/bootstrap.mjs +2 -2
- package/skills/wix-headless/entry/skill.md +0 -2
- package/skills/wix-headless/references/CAPABILITIES.md +6 -4
- package/skills/wix-headless/references/CONTENT.md +36 -0
- package/skills/wix-headless/references/DESIGN.md +54 -0
- package/skills/wix-headless/references/DISCOVERY.md +25 -1
- package/skills/wix-headless/references/FEEDBACK.md +16 -5
- package/skills/wix-headless/references/IMAGE_GENERATION.md +10 -0
- package/skills/wix-headless/references/SDK_HANDOFF.md +2 -0
- package/skills/wix-headless/references/SEED.md +3 -1
- package/skills/wix-headless/references/SETUP.md +1 -1
- package/skills/wix-headless/references/inline-recipes/how-to-code-a-store.md +3 -2
- package/skills/wix-headless/references/inline-recipes/how-to-code-restaurant-reservations.md +42 -2
- package/skills/wix-headless/references/inline-recipes/setup-bookings.md +5 -1
- package/skills/wix-headless/references/inline-recipes/setup-forms.md +1 -1
- package/skills/wix-headless/references/inline-recipes/setup-online-store.md +33 -8
- package/skills/wix-headless/references/inline-recipes/setup-portfolio.md +3 -1
- package/skills/wix-headless/references/inline-recipes/setup-restaurant-experiences.md +73 -0
- package/skills/wix-headless/references/inline-recipes/setup-restaurant-orders.md +38 -2
- package/skills/wix-headless/references/inline-recipes/setup-restaurant-reservations.md +20 -1
- package/skills/wix-headless/references/inline-recipes/setup-restaurants.md +1 -1
- package/skills/wix-headless/references/managed/CONNECT.md +2 -2
- package/skills/wix-headless/references/managed/CREATE.md +15 -1
- package/skills/wix-headless/references/managed/DEPLOYMENT.md +47 -0
- package/skills/wix-headless/references/self-managed/DEPLOYMENT.md +8 -0
- package/skills/wix-headless/references/stripe/DEPLOYMENT.md +8 -0
- package/skills/wix-manage/SKILL.md +131 -12
- package/skills/wix-manage/references/analytics/analytics-dashboard-navigation.md +41 -0
- package/skills/wix-manage/references/analytics/query-site-analytics.md +66 -9
- package/skills/wix-manage/references/app-installation/app-installation-dashboard-navigation.md +28 -0
- package/skills/wix-manage/references/app-installation/install-wix-apps.md +3 -0
- package/skills/wix-manage/references/blog/blog-dashboard-navigation.md +56 -0
- package/skills/wix-manage/references/blog/how-to-create-blog-posts.md +31 -6
- package/skills/wix-manage/references/bookings/booking-service-policy-setup.md +3 -1
- package/skills/wix-manage/references/bookings/bookings-dashboard-navigation.md +63 -0
- package/skills/wix-manage/references/bookings/create-booking-service-from-prompt.md +6 -5
- package/skills/wix-manage/references/bookings/create-course-service.md +30 -5
- package/skills/wix-manage/references/bookings/diagnose-availability-issues.md +85 -42
- package/skills/wix-manage/references/cms/cms-dashboard-navigation.md +44 -0
- package/skills/wix-manage/references/cms/cms-data-items-crud.md +31 -3
- package/skills/wix-manage/references/cms/cms-publishing-flow.md +287 -0
- package/skills/wix-manage/references/cms/cms-schema-management.md +33 -1
- package/skills/wix-manage/references/contacts/contacts-dashboard-navigation.md +46 -0
- package/skills/wix-manage/references/contacts/create-a-contact.md +82 -0
- package/skills/wix-manage/references/contacts/update-a-contact.md +119 -0
- package/skills/wix-manage/references/dashboard-navigation/dashboard-navigation.md +82 -0
- package/skills/wix-manage/references/dashboard-navigation/routes.json +1733 -0
- package/skills/wix-manage/references/domains/domains-dashboard-navigation.md +32 -0
- package/skills/wix-manage/references/ecommerce/ecom-pricing.md +4 -4
- package/skills/wix-manage/references/ecommerce/ecom-shipping.md +1 -1
- package/skills/wix-manage/references/ecommerce/gift-cards/ecom-gift-cards-goal-sell-gift-cards.md +338 -0
- package/skills/wix-manage/references/ecommerce/pricing-promotions/ecom-pricing-create-discount-rule.md +42 -78
- package/skills/wix-manage/references/ecommerce/pricing-promotions/ecom-pricing-flow-bundle-and-save.md +1 -1
- package/skills/wix-manage/references/ecommerce/pricing-promotions/ecom-pricing-flow-stock-mover.md +1 -1
- package/skills/wix-manage/references/ecommerce/pricing-promotions/ecom-pricing-flow-upsell-boost.md +1 -1
- package/skills/wix-manage/references/ecommerce/recommend-ecommerce-strategy.md +90 -92
- package/skills/wix-manage/references/events/create-wix-event.md +176 -0
- package/skills/wix-manage/references/events/manage-wix-events.md +174 -0
- package/skills/wix-manage/references/forms/forms-dashboard-navigation.md +44 -0
- package/skills/wix-manage/references/get-paid/get-paid-dashboard-navigation.md +52 -0
- package/skills/wix-manage/references/get-paid/how-to-setup-wix-payments.md +30 -7
- package/skills/wix-manage/references/google-ads/billing-and-payment.md +80 -0
- package/skills/wix-manage/references/google-ads/create-performance-max-campaign.md +212 -0
- package/skills/wix-manage/references/google-ads/get-campaign-suggestions.md +110 -0
- package/skills/wix-manage/references/google-ads/google-ads-dashboard-navigation.md +25 -0
- package/skills/wix-manage/references/google-ads/install-and-create-account.md +155 -0
- package/skills/wix-manage/references/google-ads/manage-campaign-lifecycle.md +63 -0
- package/skills/wix-manage/references/google-ads/query-campaign-analytics.md +155 -0
- package/skills/wix-manage/references/marketing/create-and-publish-social-post.md +225 -144
- package/skills/wix-manage/references/marketing/generate-and-publish-marketing-plan.md +19 -10
- package/skills/wix-manage/references/marketing/marketing-dashboard-navigation.md +52 -0
- package/skills/wix-manage/references/pricing-plans/create-and-update-pricing-plans.md +99 -1
- package/skills/wix-manage/references/pricing-plans/pricing-plans-dashboard-navigation.md +45 -0
- package/skills/wix-manage/references/restaurants/restaurants-dashboard-navigation.md +68 -0
- package/skills/wix-manage/references/restaurants/wix-restaurants-setup.md +94 -125
- package/skills/wix-manage/references/site-properties/change-payment-currency-site-properties.md +48 -9
- package/skills/wix-manage/references/site-properties/site-properties-dashboard-navigation.md +31 -0
- package/skills/wix-manage/references/sites/create-headless-site.md +52 -0
- package/skills/wix-manage/references/sites/create-site-from-template.md +2 -25
- package/skills/wix-manage/references/sites/site-import.md +243 -0
- package/skills/wix-manage/references/sites/sites-dashboard-navigation.md +29 -0
- package/skills/wix-manage/references/stores/add-store-pages-to-site.md +17 -1
- package/skills/wix-manage/references/stores/create-product-from-image.md +8 -6
- package/skills/wix-manage/references/stores/create-product-with-options-catalog-v3.md +16 -10
- package/skills/wix-manage/references/stores/find-products-query-and-search-catalog-v3.md +26 -8
- package/skills/wix-manage/references/stores/stores-dashboard-navigation.md +65 -0
- package/skills/wix-manage/references/stores/update-product-with-options.md +39 -7
- package/skills/wix-replatform/.publish-manifest.json +8 -0
- package/skills/wix-replatform/SKILL.md +693 -0
- package/skills/wix-replatform/lib/artifact-freshness.js +215 -0
- package/skills/wix-replatform/lib/completion-report.js +200 -0
- package/skills/wix-replatform/lib/config-env.js +59 -0
- package/skills/wix-replatform/lib/execution-manifest.js +185 -0
- package/skills/wix-replatform/lib/execution-state.js +173 -0
- package/skills/wix-replatform/lib/import-recovery.js +313 -0
- package/skills/wix-replatform/lib/local-state.js +642 -0
- package/skills/wix-replatform/lib/orchestration-preflight.js +143 -0
- package/skills/wix-replatform/lib/orchestration-router.js +122 -0
- package/skills/wix-replatform/lib/orchestration-state.js +455 -0
- package/skills/wix-replatform/lib/progress-log.js +224 -0
- package/skills/wix-replatform/lib/progress-log.sh +140 -0
- package/skills/wix-replatform/lib/url-preservation-state.js +391 -0
- package/skills/wix-replatform/resources/rp-discovery/SKILL.md +184 -0
- package/skills/wix-replatform/resources/rp-execute-import/SKILL.md +529 -0
- package/skills/wix-replatform/resources/rp-execute-setup/SKILL.md +316 -0
- package/skills/wix-replatform/resources/rp-execute-setup/scripts/mint-token.sh +64 -0
- package/skills/wix-replatform/resources/rp-import-codegen/SKILL.md +1114 -0
- package/skills/wix-replatform/resources/rp-mapper/SKILL.md +430 -0
- package/skills/wix-replatform/resources/rp-mapper/lib/mapping-resolve.js +217 -0
- package/skills/wix-replatform/resources/rp-mapper/scripts/resolve-mapping.js +148 -0
- package/skills/wix-replatform/resources/rp-mapper/wix-business-solutions-taxonomy.md +378 -0
- package/skills/wix-replatform/resources/rp-setup-discovery/SKILL.md +183 -0
- package/skills/wix-replatform/resources/rp-source-csv/SKILL.md +478 -0
- package/skills/wix-replatform/resources/rp-source-csv/lib/canonical-record.js +136 -0
- package/skills/wix-replatform/resources/rp-source-csv/lib/csv-fileset.js +0 -0
- package/skills/wix-replatform/resources/rp-source-csv/lib/csv-fingerprint.js +310 -0
- package/skills/wix-replatform/resources/rp-source-csv/lib/csv-layout.js +1081 -0
- package/skills/wix-replatform/resources/rp-source-csv/lib/csv-parse.js +618 -0
- package/skills/wix-replatform/resources/rp-source-csv/scripts/csv-discovery.js +949 -0
- package/skills/wix-replatform/resources/rp-source-csv/source-schema.example.json +196 -0
- package/skills/wix-replatform/resources/rp-source-csv/vendors/bigcommerce.json +66 -0
- package/skills/wix-replatform/resources/rp-source-csv/vendors/magento.json +60 -0
- package/skills/wix-replatform/resources/rp-source-csv/vendors/shopify.json +95 -0
- package/skills/wix-replatform/resources/rp-source-csv/vendors/woocommerce.json +82 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/SKILL.md +256 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-http.js +249 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-route-classifier.js +444 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/scripts/wp-discovery.js +774 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/source-schema.example.json +71 -0
- package/skills/wix-replatform/resources/rp-target-wix/SKILL.md +632 -0
- package/skills/wix-replatform/resources/rp-target-wix/SPEC-product-reviews-and-blog-authorship.md +330 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/README.md +21 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/domain.json +19 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/category.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/comment.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/post.json +39 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/tag.json +35 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/cms/domain.json +14 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/collection.json +35 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/data-item.json +36 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/reference.json +35 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/crm/domain.json +14 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/contact.json +131 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/email-subscription.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/label.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/domain.json +21 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-line-item.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-refund.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order.json +97 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/index.json +528 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/media/domain.json +14 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/media/entities/media-file.json +38 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/media/entities/media-folder.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/members/domain.json +13 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/badge.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/member.json +53 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/schema.json +84 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/domain.json +25 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/category.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/coupon.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/inventory-item.json +38 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product-tag.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product.json +90 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/audit-summary.js +64 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/contract-ledger.js +141 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/domain-knowledge.js +384 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/ndjson.js +260 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/stores-verification.js +238 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/wix-build.js +237 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/wix-target-spec.js +238 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/wix-writers.js +2219 -0
- package/skills/wix-replatform/resources/rp-target-wix/scripts/domain-knowledge-validate.js +31 -0
- package/skills/wix-replatform/resources/rp-target-wix/scripts/domain-knowledge.js +100 -0
- package/skills/wix-replatform/resources/rp-target-wix/scripts/verify-stores.js +107 -0
- package/skills/wix-replatform/resources/rp-telemetry/SKILL.md +344 -0
- package/skills/wix-replatform/resources/rp-telemetry/lib/bi-sink.js +250 -0
- package/skills/wix-replatform/resources/rp-telemetry/lib/telemetry-recorder.js +1927 -0
- package/skills/wix-replatform/resources/rp-telemetry/scripts/meter-from-audit.js +83 -0
- package/skills/wix-replatform/resources/rp-telemetry/scripts/rp-telemetry.js +141 -0
- package/skills/wix-replatform/scripts/artifact-freshness.js +76 -0
- package/skills/wix-replatform/scripts/execution-manifest-validate.js +43 -0
- package/skills/wix-replatform/scripts/execution-state-prepare.js +128 -0
- package/skills/wix-replatform/scripts/orchestration-preflight.js +48 -0
- package/skills/wix-replatform/scripts/orchestration-route.js +46 -0
- package/skills/wix-replatform/scripts/orchestration-state.js +245 -0
- package/skills/wix-vibe-headless/SKILL.md +54 -25
- package/skills/wix-vibe-headless/install/deploy.cjs +95 -0
- package/skills/wix-vibe-headless/install/pin-agents-md.cjs +34 -0
- package/skills/wix-vibe-headless/platforms/README.md +26 -0
- package/skills/wix-vibe-headless/platforms/base44.md +177 -0
- package/skills/wix-vibe-headless/platforms/generic.md +122 -0
- package/skills/wix-vibe-headless/references/blog/INSTRUCTIONS.md +230 -119
- package/skills/wix-vibe-headless/references/blog/app/components/PostCard.jsx +43 -0
- package/skills/wix-vibe-headless/references/blog/app/components/PostChips.jsx +25 -0
- package/skills/wix-vibe-headless/references/blog/app/components/PostGrid.jsx +15 -0
- package/skills/wix-vibe-headless/references/blog/app/context/TaxonomyContext.jsx +35 -0
- package/skills/wix-vibe-headless/references/blog/app/hooks/usePostDetail.js +38 -0
- package/skills/wix-vibe-headless/references/blog/app/pages/Blog.jsx +40 -0
- package/skills/wix-vibe-headless/references/blog/app/pages/CategoryPage.jsx +54 -0
- package/skills/wix-vibe-headless/references/blog/app/pages/PostDetail.jsx +65 -0
- package/skills/wix-vibe-headless/references/blog/app/pages/TagPage.jsx +50 -0
- package/skills/wix-vibe-headless/references/blog/seed/SEED.md +103 -0
- package/skills/wix-vibe-headless/references/blog/seed/seed-blog.js +270 -0
- package/skills/wix-vibe-headless/references/bookings/INSTRUCTIONS.md +260 -145
- package/skills/wix-vibe-headless/references/bookings/app/components/BookingForm.jsx +65 -0
- package/skills/wix-vibe-headless/references/bookings/app/components/ServiceCard.jsx +47 -0
- package/skills/wix-vibe-headless/references/bookings/app/components/ServiceGrid.jsx +13 -0
- package/skills/wix-vibe-headless/references/bookings/app/components/SlotPicker.jsx +126 -0
- package/skills/wix-vibe-headless/references/bookings/app/hooks/useServiceDetail.js +108 -0
- package/skills/wix-vibe-headless/references/bookings/app/hooks/useServices.js +58 -0
- package/skills/wix-vibe-headless/references/bookings/app/lib/serviceFacts.js +95 -0
- package/skills/wix-vibe-headless/references/bookings/app/pages/ServiceDetail.jsx +94 -0
- package/skills/wix-vibe-headless/references/bookings/app/pages/Services.jsx +89 -0
- package/skills/wix-vibe-headless/references/bookings/{wix-bookings-checkout.js → app/rest/wix-bookings-checkout.js} +1 -1
- package/skills/wix-vibe-headless/references/bookings/{wix-bookings-services.js → app/rest/wix-bookings-services.js} +90 -12
- package/skills/wix-vibe-headless/references/bookings/seed/SEED.md +117 -0
- package/skills/wix-vibe-headless/references/bookings/seed/seed-bookings.js +333 -0
- package/skills/wix-vibe-headless/references/cms/INSTRUCTIONS.md +169 -147
- package/skills/wix-vibe-headless/references/cms/app/collection.config.js +31 -0
- package/skills/wix-vibe-headless/references/cms/app/lib/wixImage.js +18 -0
- package/skills/wix-vibe-headless/references/cms/{wix-cms.js → app/rest/wix-cms.js} +47 -2
- package/skills/wix-vibe-headless/references/cms/seed/SEED.md +145 -0
- package/skills/wix-vibe-headless/references/events/INSTRUCTIONS.md +228 -131
- package/skills/wix-vibe-headless/references/events/app/components/CategoryFilter.jsx +23 -0
- package/skills/wix-vibe-headless/references/events/app/components/EventCard.jsx +43 -0
- package/skills/wix-vibe-headless/references/events/app/components/EventGrid.jsx +13 -0
- package/skills/wix-vibe-headless/references/events/app/components/EventRegistration.jsx +29 -0
- package/skills/wix-vibe-headless/references/events/app/components/RsvpForm.jsx +57 -0
- package/skills/wix-vibe-headless/references/events/app/components/TicketPicker.jsx +78 -0
- package/skills/wix-vibe-headless/references/events/app/hooks/useEventDetail.js +27 -0
- package/skills/wix-vibe-headless/references/events/app/hooks/useEventsList.js +54 -0
- package/skills/wix-vibe-headless/references/events/app/hooks/useRsvpForm.js +40 -0
- package/skills/wix-vibe-headless/references/events/app/hooks/useTicketing.js +81 -0
- package/skills/wix-vibe-headless/references/events/app/pages/EventDetail.jsx +48 -0
- package/skills/wix-vibe-headless/references/events/app/pages/Events.jsx +36 -0
- package/skills/wix-vibe-headless/references/events/{wix-events-browse.js → app/rest/wix-events-browse.js} +3 -2
- package/skills/wix-vibe-headless/references/events/seed/SEED.md +107 -0
- package/skills/wix-vibe-headless/references/events/seed/seed-events.js +251 -0
- package/skills/wix-vibe-headless/references/members/INSTRUCTIONS.md +276 -188
- package/skills/wix-vibe-headless/references/members/app/components/LoginForm.jsx +101 -0
- package/skills/wix-vibe-headless/references/members/app/components/MemberMenu.jsx +33 -0
- package/skills/wix-vibe-headless/references/members/app/components/RequireAuth.jsx +21 -0
- package/skills/wix-vibe-headless/references/members/app/components/SocialButtons.jsx +29 -0
- package/skills/wix-vibe-headless/references/members/app/context/MemberContext.jsx +54 -0
- package/skills/wix-vibe-headless/references/members/app/hooks/useLoginForm.js +77 -0
- package/skills/wix-vibe-headless/references/members/app/pages/Account.jsx +36 -0
- package/skills/wix-vibe-headless/references/members/app/pages/Callback.jsx +32 -0
- package/skills/wix-vibe-headless/references/members/app/pages/Login.jsx +35 -0
- package/skills/wix-vibe-headless/references/members/{wix-members-auth.js → app/rest/wix-members-auth.js} +6 -3
- package/skills/wix-vibe-headless/references/members/install/Register.jsx +22 -0
- package/skills/wix-vibe-headless/references/members/seed/SEED.md +22 -0
- package/skills/wix-vibe-headless/references/portfolio/INSTRUCTIONS.md +233 -104
- package/skills/wix-vibe-headless/references/portfolio/app/components/CollectionCard.jsx +31 -0
- package/skills/wix-vibe-headless/references/portfolio/app/components/CollectionGrid.jsx +15 -0
- package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectCard.jsx +39 -0
- package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectGrid.jsx +15 -0
- package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectMedia.jsx +29 -0
- package/skills/wix-vibe-headless/references/portfolio/app/hooks/useCollectionProjects.js +35 -0
- package/skills/wix-vibe-headless/references/portfolio/app/hooks/usePortfolioGallery.js +27 -0
- package/skills/wix-vibe-headless/references/portfolio/app/hooks/useProjectDetail.js +25 -0
- package/skills/wix-vibe-headless/references/portfolio/app/pages/CollectionPage.jsx +39 -0
- package/skills/wix-vibe-headless/references/portfolio/app/pages/Portfolio.jsx +27 -0
- package/skills/wix-vibe-headless/references/portfolio/app/pages/ProjectDetail.jsx +60 -0
- package/skills/wix-vibe-headless/references/portfolio/{wix-portfolio.js → app/rest/wix-portfolio.js} +84 -55
- package/skills/wix-vibe-headless/references/portfolio/seed/SEED.md +94 -0
- package/skills/wix-vibe-headless/references/portfolio/seed/seed-portfolio.js +236 -0
- package/skills/wix-vibe-headless/references/pricing-plans/INSTRUCTIONS.md +240 -117
- package/skills/wix-vibe-headless/references/pricing-plans/app/components/OrderCard.jsx +35 -0
- package/skills/wix-vibe-headless/references/pricing-plans/app/components/PlanCard.jsx +48 -0
- package/skills/wix-vibe-headless/references/pricing-plans/app/components/PlanGrid.jsx +16 -0
- package/skills/wix-vibe-headless/references/pricing-plans/app/components/PlanPrice.jsx +35 -0
- package/skills/wix-vibe-headless/references/pricing-plans/app/hooks/useMyPlans.js +25 -0
- package/skills/wix-vibe-headless/references/pricing-plans/app/hooks/usePlanDetail.js +28 -0
- package/skills/wix-vibe-headless/references/pricing-plans/app/hooks/usePlans.js +30 -0
- package/skills/wix-vibe-headless/references/pricing-plans/app/pages/MyPlans.jsx +30 -0
- package/skills/wix-vibe-headless/references/pricing-plans/app/pages/PlanDetail.jsx +53 -0
- package/skills/wix-vibe-headless/references/pricing-plans/app/pages/Plans.jsx +28 -0
- package/skills/wix-vibe-headless/references/pricing-plans/seed/SEED.md +86 -0
- package/skills/wix-vibe-headless/references/pricing-plans/seed/seed-pricing-plans.js +251 -0
- package/skills/wix-vibe-headless/references/restaurants/INSTRUCTIONS.md +248 -124
- package/skills/wix-vibe-headless/references/restaurants/app/components/ItemDialog.jsx +81 -0
- package/skills/wix-vibe-headless/references/restaurants/app/components/MenuItemCard.jsx +71 -0
- package/skills/wix-vibe-headless/references/restaurants/app/components/MenuList.jsx +43 -0
- package/skills/wix-vibe-headless/references/restaurants/app/components/OrderCartButton.jsx +21 -0
- package/skills/wix-vibe-headless/references/restaurants/app/components/OrderCartDrawer.jsx +60 -0
- package/skills/wix-vibe-headless/references/restaurants/app/context/OrderCartContext.jsx +63 -0
- package/skills/wix-vibe-headless/references/restaurants/app/hooks/useItemOrder.js +32 -0
- package/skills/wix-vibe-headless/references/restaurants/app/hooks/useReservation.js +73 -0
- package/skills/wix-vibe-headless/references/restaurants/app/pages/Menu.jsx +28 -0
- package/skills/wix-vibe-headless/references/restaurants/app/pages/Reservations.jsx +102 -0
- package/skills/wix-vibe-headless/references/restaurants/seed/SEED.md +180 -0
- package/skills/wix-vibe-headless/references/restaurants/seed/seed-restaurants.js +452 -0
- package/skills/wix-vibe-headless/references/shared/app/components/WixManageBanner.jsx +56 -0
- package/skills/wix-vibe-headless/references/shared/{wix-client.js → app/rest/wix-client.js} +6 -8
- package/skills/wix-vibe-headless/references/shared/app/rest/wix-config.js +6 -0
- package/skills/wix-vibe-headless/references/storefront/INSTRUCTIONS.md +263 -148
- package/skills/wix-vibe-headless/references/storefront/app/components/CartButton.jsx +20 -0
- package/skills/wix-vibe-headless/references/storefront/app/components/CartDrawer.jsx +150 -0
- package/skills/wix-vibe-headless/references/storefront/app/components/ProductCard.jsx +167 -0
- package/skills/wix-vibe-headless/references/storefront/app/components/ProductGallery.jsx +51 -0
- package/skills/wix-vibe-headless/references/storefront/app/components/ProductGrid.jsx +54 -0
- package/skills/wix-vibe-headless/references/storefront/app/components/VariantPicker.jsx +119 -0
- package/skills/wix-vibe-headless/references/storefront/app/context/CartContext.jsx +71 -0
- package/skills/wix-vibe-headless/references/storefront/app/hooks/useProductDetail.js +109 -0
- package/skills/wix-vibe-headless/references/storefront/app/hooks/useShop.js +98 -0
- package/skills/wix-vibe-headless/references/storefront/app/lib/storeImage.js +27 -0
- package/skills/wix-vibe-headless/references/storefront/app/pages/ProductDetail.jsx +139 -0
- package/skills/wix-vibe-headless/references/storefront/app/pages/Shop.jsx +75 -0
- package/skills/wix-vibe-headless/references/storefront/{wix-store-cart.js → app/rest/wix-store-cart.js} +1 -1
- package/skills/wix-vibe-headless/references/storefront/{wix-store-catalog.js → app/rest/wix-store-catalog.js} +25 -2
- package/skills/wix-vibe-headless/references/storefront/seed/SEED.md +111 -0
- package/skills/wix-vibe-headless/references/storefront/seed/seed-store.js +299 -0
- /package/skills/wix-vibe-headless/references/blog/{wix-blog.js → app/rest/wix-blog.js} +0 -0
- /package/skills/wix-vibe-headless/references/events/{wix-events-registration.js → app/rest/wix-events-registration.js} +0 -0
- /package/skills/wix-vibe-headless/references/pricing-plans/{wix-pricing-plans.js → app/rest/wix-pricing-plans.js} +0 -0
- /package/skills/wix-vibe-headless/references/restaurants/{wix-restaurants-menu.js → app/rest/wix-restaurants-menu.js} +0 -0
- /package/skills/wix-vibe-headless/references/restaurants/{wix-restaurants-ordering.js → app/rest/wix-restaurants-ordering.js} +0 -0
- /package/skills/wix-vibe-headless/references/restaurants/{wix-restaurants-reservations.js → app/rest/wix-restaurants-reservations.js} +0 -0
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "Create an Event with the Wix Events API"
|
|
3
|
+
description: "Creates an event with the Wix Events V3 API — the required request body, ISO-8601 date and time settings, venue/online/TBD location, RSVP vs ticketed registration, guest capacity, and short vs rich-text descriptions. Covers the exact field shapes and the API's misleading validation messages. Use when the user wants to create an event, set its date, location, description or guest limit, or choose between RSVP and ticketing."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Create an Event with the Wix Events API
|
|
7
|
+
|
|
8
|
+
## Goal
|
|
9
|
+
Create an event on a Wix site — one-off or recurring, RSVP or ticketed — with the Wix Events
|
|
10
|
+
V3 API. To publish, cancel, clone, count, add tickets or set up a recurring series, see
|
|
11
|
+
[Manage Wix Events](manage-wix-events.md).
|
|
12
|
+
|
|
13
|
+
## First: pick the right "Events" API
|
|
14
|
+
|
|
15
|
+
Several unrelated Wix APIs are called "Events". Routing to the wrong one is the most expensive
|
|
16
|
+
mistake on this surface, because the wrong API answers plausibly for several calls before
|
|
17
|
+
failing.
|
|
18
|
+
|
|
19
|
+
| The user means | API | Base path |
|
|
20
|
+
| --- | --- | --- |
|
|
21
|
+
| A public event guests attend — gala, concert, workshop, meetup | **Wix Events V3** — this recipe | `/events/v3/events` |
|
|
22
|
+
| A bookable session on a staff or service calendar | Calendar Events V3 | `/calendar/v3/events` |
|
|
23
|
+
| An entry on the marketing plan calendar | Marketing Calendar Event V1 | `/promote/marketing-plan-service/v1/events` |
|
|
24
|
+
| An automation trigger | Triggered Events | `/automations/v1/events/report` |
|
|
25
|
+
|
|
26
|
+
A recurring *class or course that guests book* is Bookings, not Wix Events. A recurring
|
|
27
|
+
*event series guests attend* is Wix Events.
|
|
28
|
+
|
|
29
|
+
## Prerequisite — the Wix Events app must be installed
|
|
30
|
+
|
|
31
|
+
Every `/events/v3` call against a site without the app returns:
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
428 {"message":"Events app not installed for metaSiteId=...",
|
|
35
|
+
"details":{"applicationError":{"code":"WIX_EVENTS_APP_NOT_INSTALLED"}}}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Install it with appDefId `140603ad-af8d-84a5-2c80-a0f60cb47351` — see
|
|
39
|
+
[Install Wix Apps](../app-installation/install-wix-apps.md). Confirm with the user first unless
|
|
40
|
+
they already asked for the event to be created.
|
|
41
|
+
|
|
42
|
+
## Create the event
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
curl -X POST 'https://www.wixapis.com/events/v3/events' \
|
|
46
|
+
-H 'Content-Type: application/json' \
|
|
47
|
+
-H 'Authorization: <AUTH>' \
|
|
48
|
+
--data-binary '{
|
|
49
|
+
"event": {
|
|
50
|
+
"title": "Summer Gala",
|
|
51
|
+
"location": { "name": "Grand Hall", "type": "VENUE" },
|
|
52
|
+
"dateAndTimeSettings": {
|
|
53
|
+
"startDate": "2026-09-15T19:00:00.000Z",
|
|
54
|
+
"endDate": "2026-09-15T22:00:00.000Z",
|
|
55
|
+
"timeZoneId": "America/New_York"
|
|
56
|
+
},
|
|
57
|
+
"registration": { "initialType": "RSVP" }
|
|
58
|
+
},
|
|
59
|
+
"draft": true
|
|
60
|
+
}'
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
`title`, `location`, `dateAndTimeSettings` and `registration.initialType` are all required.
|
|
64
|
+
Drop `"draft": true` to create the event already published; a draft has `status: "DRAFT"` and
|
|
65
|
+
is invisible on the site until published with `POST /events/v3/events/{eventId}/publish`
|
|
66
|
+
(empty body), which moves it to `UPCOMING`.
|
|
67
|
+
|
|
68
|
+
## Date and time
|
|
69
|
+
|
|
70
|
+
**`startDate` and `endDate` are ISO-8601 strings, not `{seconds, nanos}` objects.**
|
|
71
|
+
|
|
72
|
+
The spec types these fields as `string` / `format: date-time` but also carries a pointer to the
|
|
73
|
+
`google.protobuf.Timestamp` message, whose fields are `seconds` and `nanos`. That message
|
|
74
|
+
describes the *internal* representation and must not be sent — it fails with
|
|
75
|
+
`400 {"message":"Expected a string."}`. This applies to every date-time field across the Wix
|
|
76
|
+
APIs, not only Events.
|
|
77
|
+
|
|
78
|
+
| Rule | If broken |
|
|
79
|
+
| --- | --- |
|
|
80
|
+
| `startDate` / `endDate` are ISO-8601 strings | `400 Expected a string.` |
|
|
81
|
+
| `endDate` is required | `400 endDate.isDefined must be true, event cannot have negative duration` |
|
|
82
|
+
| `timeZoneId` is required, in [TZ database](https://www.iana.org/time-zones) form (`America/New_York`) | `400 getTimeZoneId is not supported` |
|
|
83
|
+
|
|
84
|
+
> The `timeZoneId` error reads as though the field is unsupported. It is not — it means the
|
|
85
|
+
> field is **missing**. Add `timeZoneId`; do not remove it.
|
|
86
|
+
|
|
87
|
+
**Date to be announced:** send `dateAndTimeSettings` as
|
|
88
|
+
`{ "dateAndTimeTbd": true, "dateAndTimeTbdMessage": "Date coming soon" }` and nothing else. The
|
|
89
|
+
message is mandatory — omitting it fails with `400 getScheduleTbdMessage must not be a blank`.
|
|
90
|
+
|
|
91
|
+
## Location
|
|
92
|
+
|
|
93
|
+
`location.type` is `VENUE` or `ONLINE`. There is no `TBD` type — a to-be-announced location is
|
|
94
|
+
a `VENUE` with `locationTbd: true`.
|
|
95
|
+
|
|
96
|
+
| Body | Result |
|
|
97
|
+
| --- | --- |
|
|
98
|
+
| `{ "name": "Grand Hall", "type": "VENUE" }` | Accepted |
|
|
99
|
+
| `{ "name": "Zoom", "type": "ONLINE" }` | Accepted |
|
|
100
|
+
| `{ "name": "To be announced", "locationTbd": true }` | Accepted — `type` defaults to `VENUE` |
|
|
101
|
+
| `{ "locationTbd": true }` | `400 Event location is invalid ... Location address must not be a blank` |
|
|
102
|
+
| `{ "name": "TBA", "type": "TBD", "locationTbd": true }` | `400 type enum must be in [VENUE(0), ONLINE(1)]` |
|
|
103
|
+
|
|
104
|
+
For a real street address, add an `address` object:
|
|
105
|
+
|
|
106
|
+
```json
|
|
107
|
+
"location": {
|
|
108
|
+
"name": "Javits Center", "type": "VENUE",
|
|
109
|
+
"address": {
|
|
110
|
+
"country": "US", "subdivision": "US-NY", "city": "New York", "postalCode": "10001",
|
|
111
|
+
"streetAddress": { "number": "429", "name": "11th Ave" }
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
`subdivision` is the ISO-3166-2 code (`US-NY`), and the API fills in `formattedAddress` and
|
|
117
|
+
`geocode` on the response. A `VENUE` with no `address` comes back with `locationTbd: true` set
|
|
118
|
+
by the API whether or not you sent it.
|
|
119
|
+
|
|
120
|
+
## Registration type and capacity
|
|
121
|
+
|
|
122
|
+
`initialType` must be nested under `registration`; at the root of `event` it is treated as
|
|
123
|
+
omitted and fails with the same error. Accepted values are **`RSVP`**, **`TICKETING`**,
|
|
124
|
+
`EXTERNAL` and `NONE`.
|
|
125
|
+
|
|
126
|
+
> The API's error text for this field advertises `[RSVP,TICKETS,RSVP_AND_TICKETS]`. Those
|
|
127
|
+
> values do not work — `TICKETS` is rejected. Use `TICKETING`.
|
|
128
|
+
|
|
129
|
+
`initialType` is immutable: an `RSVP` event can never become a `TICKETING` event or vice versa
|
|
130
|
+
(either can later become `EXTERNAL` or `NONE` via `registration.type`). Choose correctly at
|
|
131
|
+
creation time — "people should register by RSVP, not tickets" means `RSVP`.
|
|
132
|
+
|
|
133
|
+
**Guest limit.** For an RSVP event, the cap is `registration.rsvp.limit`:
|
|
134
|
+
|
|
135
|
+
```json
|
|
136
|
+
"registration": { "initialType": "RSVP", "rsvp": { "limit": 30 } }
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
A `limit` placed directly on `registration` is **silently ignored** — the event is created with
|
|
140
|
+
no cap and no error. Set `waitlistEnabled: true` alongside it to let guests join a waitlist once
|
|
141
|
+
the limit is reached. For a ticketed event the cap is per ticket type, via `initialLimit` on the
|
|
142
|
+
ticket definition — see [Manage Wix Events](manage-wix-events.md).
|
|
143
|
+
|
|
144
|
+
## Description — two different fields
|
|
145
|
+
|
|
146
|
+
| Field | Type | Use for |
|
|
147
|
+
| --- | --- | --- |
|
|
148
|
+
| `shortDescription` | plain string, max 500 | A one-line description under the event title |
|
|
149
|
+
| `description` | Ricos rich content object | The formatted body on the event page |
|
|
150
|
+
|
|
151
|
+
A plain sentence belongs in `shortDescription`. Sending a string to `description` fails with
|
|
152
|
+
`400 {"message":"Expected an object"}` — it takes a Ricos `{ "nodes": [...] }` tree, as built in
|
|
153
|
+
[Rich Content](../rich-content/author-ricos-rich-content.md):
|
|
154
|
+
|
|
155
|
+
```json
|
|
156
|
+
"description": { "nodes": [ { "type": "PARAGRAPH", "id": "p1", "paragraphData": {},
|
|
157
|
+
"nodes": [ { "type": "TEXT", "id": "", "nodes": [],
|
|
158
|
+
"textData": { "text": "Monthly meetup to discuss a new book.", "decorations": [] } } ] } ] }
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
`shortDescription` is only returned when the request asks for `"fields": ["DETAILS"]`, and
|
|
162
|
+
`description` only with `"fields": ["TEXTS"]`. Both are stored regardless.
|
|
163
|
+
|
|
164
|
+
## Gotchas & troubleshooting
|
|
165
|
+
|
|
166
|
+
- **An invalid enum value reports as a missing one.** Sending a value outside an enum returns
|
|
167
|
+
`<field> value is required` rather than "invalid value". If a field you *did* send is reported
|
|
168
|
+
as required, suspect the value, not its presence.
|
|
169
|
+
- **Error text names internal accessors, not request fields.** `getTimeZoneId`,
|
|
170
|
+
`getScheduleTbdMessage` and `endDate.isDefined` each map to the plain field of the same name.
|
|
171
|
+
- `title` is required, min 1 and max 120 characters. There is no separate name field.
|
|
172
|
+
|
|
173
|
+
## Related APIs
|
|
174
|
+
- **Wix Events V3**: [REST](https://dev.wix.com/docs/api-reference/business-solutions/events/event-management/events-v3)
|
|
175
|
+
- [Manage Wix Events](manage-wix-events.md) — tickets, publish, cancel, clone, recurring, count
|
|
176
|
+
- [Install Wix Apps](../app-installation/install-wix-apps.md) — the `428` pre-flight
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "Manage Wix Events — Tickets, Publishing, Cloning and Recurring Series"
|
|
3
|
+
description: "Manages existing events with the Wix Events V3 API — ticket definitions and pricing (fixed price, free, donation, multiple tiers), publishing a draft, cancelling, deleting, cloning, updating an event's date or details, counting events, and creating a recurring series. Use when the user wants to add or price tickets, publish or cancel an event, duplicate an event, move an event's date, count their events, or set up a repeating event."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Manage Wix Events — Tickets, Publishing, Cloning and Recurring Series
|
|
7
|
+
|
|
8
|
+
## Goal
|
|
9
|
+
Operate on events that already exist: sell tickets, publish, cancel, delete, clone, update,
|
|
10
|
+
count, and build recurring series. To create the event in the first place — including its date,
|
|
11
|
+
location, description and guest limit — see [Create an Event](create-wix-event.md).
|
|
12
|
+
|
|
13
|
+
## Prerequisite — the Wix Events app must be installed
|
|
14
|
+
|
|
15
|
+
Every endpoint here returns `428 WIX_EVENTS_APP_NOT_INSTALLED` against a site without the app.
|
|
16
|
+
Install it first — do not guess the install path, which is easy to get wrong:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
curl -X POST 'https://www.wixapis.com/apps-installer-service/v1/app-instance/install' \
|
|
20
|
+
-H 'Content-Type: application/json' \
|
|
21
|
+
-H 'Authorization: <AUTH>' \
|
|
22
|
+
--data-binary '{
|
|
23
|
+
"tenant": { "tenantType": "SITE", "id": "<SITE_ID>" },
|
|
24
|
+
"appInstance": { "appDefId": "140603ad-af8d-84a5-2c80-a0f60cb47351" }
|
|
25
|
+
}'
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
`appDefId` nests under `appInstance`, not at the root — at the root it fails with
|
|
29
|
+
`400 appInstance must not be empty`. See [Install Wix Apps](../app-installation/install-wix-apps.md)
|
|
30
|
+
for the full flow.
|
|
31
|
+
|
|
32
|
+
## Ticket definitions
|
|
33
|
+
|
|
34
|
+
Ticket definitions belong to events created with `"initialType": "TICKETING"`. Tickets are a
|
|
35
|
+
separate API; up to 100 definitions per event.
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
curl -X POST 'https://www.wixapis.com/events/v3/ticket-definitions' \
|
|
39
|
+
-H 'Content-Type: application/json' \
|
|
40
|
+
-H 'Authorization: <AUTH>' \
|
|
41
|
+
--data-binary '{
|
|
42
|
+
"ticketDefinition": {
|
|
43
|
+
"eventId": "<EVENT_ID>",
|
|
44
|
+
"name": "General Admission",
|
|
45
|
+
"pricingMethod": { "fixedPrice": { "value": "25.00", "currency": "USD" } },
|
|
46
|
+
"feeType": "FEE_ADDED_AT_CHECKOUT",
|
|
47
|
+
"initialLimit": 100
|
|
48
|
+
}
|
|
49
|
+
}'
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
| To create | `pricingMethod` |
|
|
53
|
+
| --- | --- |
|
|
54
|
+
| A fixed-price ticket | `{ "fixedPrice": { "value": "25.00", "currency": "USD" } }` |
|
|
55
|
+
| A free ticket | `{ "fixedPrice": { "value": "0", "currency": "USD" } }` |
|
|
56
|
+
| A donation / pay-what-you-want ticket, with a minimum | `{ "guestPrice": { "value": "5.00", "currency": "USD" } }` |
|
|
57
|
+
|
|
58
|
+
Easy to get wrong:
|
|
59
|
+
|
|
60
|
+
- **`feeType` is required** — `FEE_ADDED_AT_CHECKOUT` (fee on top of the price) or
|
|
61
|
+
`FEE_INCLUDED` (fee absorbed into it).
|
|
62
|
+
- **`value` is a string.** `"value": 10` fails with `400 Unexpected value for field value`.
|
|
63
|
+
- **There is no writable `free` flag.** `pricingMethod.free` is read-only, computed from the
|
|
64
|
+
price; sending `{"free": true}` fails with `value fixedPrice or guestPrice or pricingOptions
|
|
65
|
+
must not be empty`.
|
|
66
|
+
- **The quantity field is `initialLimit`**, not `initialQuantity`. Omit it for unlimited tickets.
|
|
67
|
+
- `limitPerCheckout` is read-only — it cannot be set on create.
|
|
68
|
+
- `name` is capped at 30 characters, `description` at 500.
|
|
69
|
+
|
|
70
|
+
**Multiple tiers** — call the endpoint once per tier with the same `eventId`. For "General
|
|
71
|
+
Admission at $20 and VIP at $50", that is two calls, each with its own `name`, `fixedPrice` and
|
|
72
|
+
`initialLimit`. There is no bulk-create for ticket definitions.
|
|
73
|
+
|
|
74
|
+
## Publish, cancel and delete
|
|
75
|
+
|
|
76
|
+
| Action | Call | Resulting `status` |
|
|
77
|
+
| --- | --- | --- |
|
|
78
|
+
| Publish a draft | `POST /events/v3/events/{eventId}/publish` | `UPCOMING` |
|
|
79
|
+
| Cancel | `POST /events/v3/events/{eventId}/cancel` | `CANCELED` |
|
|
80
|
+
| Delete | `DELETE /events/v3/events/{eventId}` | — |
|
|
81
|
+
|
|
82
|
+
Publish and cancel take an empty body. Publishing is irreversible — a published event cannot
|
|
83
|
+
return to `DRAFT`. Cancelling closes registration but keeps the event; deleting removes it.
|
|
84
|
+
|
|
85
|
+
## Clone an event
|
|
86
|
+
|
|
87
|
+
`POST /events/v3/events/{eventId}/clone` with an empty body copies the registration form,
|
|
88
|
+
notifications, translations and ticket configuration.
|
|
89
|
+
|
|
90
|
+
> **The clone does not keep the original's date.** Its start date is reset to roughly 14 days
|
|
91
|
+
> from now, and it comes back as a `DRAFT`. If the user wanted a duplicate on a particular date,
|
|
92
|
+
> follow the clone with an update, then publish it.
|
|
93
|
+
|
|
94
|
+
## Update an event
|
|
95
|
+
|
|
96
|
+
`PATCH /events/v3/events/{event.id}` with the fields to change nested under `event`:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
curl -X PATCH 'https://www.wixapis.com/events/v3/events/<EVENT_ID>' \
|
|
100
|
+
-H 'Content-Type: application/json' \
|
|
101
|
+
-H 'Authorization: <AUTH>' \
|
|
102
|
+
--data-binary '{
|
|
103
|
+
"event": {
|
|
104
|
+
"dateAndTimeSettings": {
|
|
105
|
+
"startDate": "2026-10-15T19:00:00.000Z",
|
|
106
|
+
"endDate": "2026-10-15T22:00:00.000Z",
|
|
107
|
+
"timeZoneId": "America/New_York"
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}'
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
The Events API takes **no field mask and no `revision`** on update — send only the fields you
|
|
114
|
+
are changing. Send `dateAndTimeSettings` complete when moving a date: `startDate`, `endDate` and
|
|
115
|
+
`timeZoneId` together, since the same required-field rules apply as on create.
|
|
116
|
+
|
|
117
|
+
Ticket definitions are the exception — `PATCH /events/v3/ticket-definitions/{ticketDefinition.id}`
|
|
118
|
+
*does* require the current `revision`, which increments on every update.
|
|
119
|
+
|
|
120
|
+
## Count events
|
|
121
|
+
|
|
122
|
+
`POST /events/v3/events/query` and read `pagingMetadata.total`:
|
|
123
|
+
|
|
124
|
+
```json
|
|
125
|
+
{ "query": { "paging": { "limit": 100 } } }
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Query Events returns only published events — **drafts are excluded from both the results and the
|
|
129
|
+
total**. Create with `"draft": false`, or publish first, if the count is meant to include the
|
|
130
|
+
event you just made.
|
|
131
|
+
|
|
132
|
+
`POST /events/v3/events/count-by-status` exists, but an empty request body returns empty `facets`
|
|
133
|
+
even when the site has events, so it is not the way to answer "how many events do I have".
|
|
134
|
+
|
|
135
|
+
## Recurring events
|
|
136
|
+
|
|
137
|
+
Wix Events has **no recurrence rule** — no `RRULE`, no "weekly" pattern. Calculate every
|
|
138
|
+
occurrence date yourself and list them all (up to 1000), alongside the normal top-level
|
|
139
|
+
`startDate` / `endDate` / `timeZoneId`:
|
|
140
|
+
|
|
141
|
+
```json
|
|
142
|
+
"dateAndTimeSettings": {
|
|
143
|
+
"startDate": "2026-10-20T18:00:00.000Z",
|
|
144
|
+
"endDate": "2026-10-20T19:00:00.000Z",
|
|
145
|
+
"timeZoneId": "America/New_York",
|
|
146
|
+
"recurringEvents": {
|
|
147
|
+
"individualEventDates": [
|
|
148
|
+
{ "startDate": "2026-10-20T18:00:00.000Z", "endDate": "2026-10-20T19:00:00.000Z", "timeZoneId": "America/New_York" },
|
|
149
|
+
{ "startDate": "2026-10-27T18:00:00.000Z", "endDate": "2026-10-27T19:00:00.000Z", "timeZoneId": "America/New_York" }
|
|
150
|
+
]
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
For "a weekly event starting next week", generate the dates yourself — pick a sensible horizon
|
|
156
|
+
(a few months) and say how many occurrences you created. The event returns
|
|
157
|
+
`recurrenceStatus: "RECURRING"`. Each occurrence is an independent event with its own ID,
|
|
158
|
+
updatable and deletable on its own; all share a generated `recurringEvents.categoryId`. Query by
|
|
159
|
+
that `categoryId` to retrieve the whole series.
|
|
160
|
+
|
|
161
|
+
## Gotchas & troubleshooting
|
|
162
|
+
|
|
163
|
+
- **An invalid enum value reports as a missing one.** A value outside an enum returns
|
|
164
|
+
`<field> value is required` rather than "invalid value" — true for `feeType` and
|
|
165
|
+
`registration.initialType`. If a field you *did* send is reported as required, suspect the
|
|
166
|
+
value, not its presence.
|
|
167
|
+
- Dates are always ISO-8601 strings, never `{seconds, nanos}` — see
|
|
168
|
+
[Create an Event](create-wix-event.md).
|
|
169
|
+
|
|
170
|
+
## Related APIs
|
|
171
|
+
- **Wix Events V3**: [REST](https://dev.wix.com/docs/api-reference/business-solutions/events/event-management/events-v3)
|
|
172
|
+
- **Ticket Definitions V3**: [REST](https://dev.wix.com/docs/api-reference/business-solutions/events/event-management/ticket-definitions-v3)
|
|
173
|
+
- **Event Guests**: `POST /events/v2/guests/query` — who registered
|
|
174
|
+
- [Create an Event](create-wix-event.md) — the create body, dates, location, capacity
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "Forms Dashboard Navigation"
|
|
3
|
+
description: "Builds direct links to Wix Forms dashboard pages on manage.wix.com — the forms list, the submissions table, the form builder for a specific form, standalone forms, templates, and forms settings. Pairs each main Forms entity (form, submission) with its read API so you can fetch an entity and hand back a 'view it in your dashboard' link. Use when the user asks where something is in the Wix dashboard, wants a direct link to a dashboard page, or you need a dashboard URL to include with the result of an API operation."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Forms Dashboard Navigation
|
|
7
|
+
|
|
8
|
+
Build direct links into the Wix Forms pages of a site's dashboard. For the general URL contract (metaSiteId, fallbacks, redirects), see [Dashboard Navigation](../dashboard-navigation/dashboard-navigation.md).
|
|
9
|
+
|
|
10
|
+
## Main Pages
|
|
11
|
+
|
|
12
|
+
| Page | URL after `/dashboard/{metaSiteId}/` | What it manages |
|
|
13
|
+
|---|---|---|
|
|
14
|
+
| Forms list | `wix-forms` | All forms on the site |
|
|
15
|
+
| Form builder | `wix-forms/form/{formId}` | Edit a specific form (fields, rules, submit settings) |
|
|
16
|
+
| Standalone form | `wix-forms/standalone-form` | Create a standalone form (has its own shareable page, not embedded in a site page) |
|
|
17
|
+
| Submissions | `wix-forms-and-payments/submissions` | Submissions table across forms |
|
|
18
|
+
| Templates | `wix-forms-and-payments/templates` | Create a form from a template |
|
|
19
|
+
| Forms settings | `wix-forms-and-payments/settings` | Forms-level settings |
|
|
20
|
+
|
|
21
|
+
Two URL namespaces appear here because the forms management pages and the form builder are registered by two apps (`14ce1214-b278-a7e4-1373-00cebd1bef7c` and `225dd912-7dea-4738-8688-4b8c6955ffc2`); `wix-forms` also redirects to the forms list, so it's the stable entry point.
|
|
22
|
+
|
|
23
|
+
Entity-specific links (`{formId}`) accept the entity's ID appended as an extra path segment. Query params can follow.
|
|
24
|
+
|
|
25
|
+
## Pairing Entities with Their Read APIs
|
|
26
|
+
|
|
27
|
+
Fetch the entity via REST, then link the matching dashboard page. All calls use `https://www.wixapis.com` with an `Authorization` header. Dashboard forms use the `wix.form_app.form` namespace.
|
|
28
|
+
|
|
29
|
+
| Entity | Read API | Dashboard link |
|
|
30
|
+
|---|---|---|
|
|
31
|
+
| Form | `GET /form-schema-service/v4/forms` · `POST /form-schema-service/v4/forms/query` · `GET /form-schema-service/v4/forms/{formId}` | `wix-forms/form/{formId}` (edit) or `wix-forms` (list) |
|
|
32
|
+
| Submission | `POST /form-submission/v4/submissions/namespace/query` (filter must include the `namespace`) · `GET /form-submission/v4/submissions/{submissionId}` | `wix-forms-and-payments/submissions` |
|
|
33
|
+
|
|
34
|
+
Example — after creating a form, hand back its links:
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
Created "Contact Form".
|
|
38
|
+
Edit it here: https://manage.wix.com/dashboard/{metaSiteId}/wix-forms/form/{formId}
|
|
39
|
+
See submissions: https://manage.wix.com/dashboard/{metaSiteId}/wix-forms-and-payments/submissions
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Notes
|
|
43
|
+
|
|
44
|
+
- Creating forms via the [Create Form](./create-form.md) recipe (Form Schemas API) makes them appear in the forms list above.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "Get Paid Dashboard Navigation"
|
|
3
|
+
description: "Builds direct links to Wix payments and invoicing dashboard pages on manage.wix.com — payment links, invoices (list, create, settings), recurring invoices, and the accept-payments settings page. Pairs each main get-paid entity with its read API so you can fetch an entity and hand back a 'view it in your dashboard' link. Use when the user asks where something is in the Wix dashboard, wants a direct link to a dashboard page, or you need a dashboard URL to include with the result of an API operation."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Get Paid Dashboard Navigation
|
|
7
|
+
|
|
8
|
+
Build direct links into the payments and invoicing pages of a site's dashboard. For the general URL contract (metaSiteId, fallbacks, redirects), see [Dashboard Navigation](../dashboard-navigation/dashboard-navigation.md).
|
|
9
|
+
|
|
10
|
+
Get-paid pages are split across **four apps** with four URL namespaces:
|
|
11
|
+
|
|
12
|
+
- **Pay Links** (`324cf725-53d9-4bb2-b8f6-0c8ec9a77f45`) — payment links. Routes under `pay-links/`.
|
|
13
|
+
- **Wix Invoices** (`13ee94c1-b635-8505-3391-97919052c16f`) — invoices and price quotes. Routes under `wix-invoices/`.
|
|
14
|
+
- **Recurring Invoices** (`35aec784-bbec-4e6e-abcb-d3d724af52cf`) — subscription invoices. Routes under `recurring-invoices/`.
|
|
15
|
+
- **Payments** (`14bca956-e09f-f4d6-14d7-466cb3f09103`) — the accept-payments settings. Routes under `wix-cashier/`.
|
|
16
|
+
|
|
17
|
+
## Main Pages
|
|
18
|
+
|
|
19
|
+
| Page | URL after `/dashboard/{metaSiteId}/` | What it manages |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| Payment links | `pay-links` | All payment links |
|
|
22
|
+
| Invoices list | `wix-invoices` | All invoices |
|
|
23
|
+
| New invoice | `wix-invoices/invoice/new` | Create an invoice |
|
|
24
|
+
| Invoice items & services | `wix-invoices/products/list` | Reusable line items for invoices |
|
|
25
|
+
| Invoice reports | `wix-invoices/reports` | Revenue / tax summaries |
|
|
26
|
+
| Invoices settings | `wix-invoices/settings` | Numbering, customization, automations, pay links, price quotes |
|
|
27
|
+
| Recurring invoices | `recurring-invoices` | Subscription invoices list |
|
|
28
|
+
| New recurring invoice | `recurring-invoices/form` | Create a recurring invoice |
|
|
29
|
+
| Accept payments | `wix-cashier/payments` | Payment methods and provider settings |
|
|
30
|
+
|
|
31
|
+
Older links (`payment-links`, `invoices`, `invoices/create`, `payments`) redirect to the current routes.
|
|
32
|
+
|
|
33
|
+
## Pairing Entities with Their Read APIs
|
|
34
|
+
|
|
35
|
+
Fetch the entity via REST, then link the matching dashboard page. All calls use `https://www.wixapis.com` with an `Authorization` header.
|
|
36
|
+
|
|
37
|
+
| Entity | Read API | Dashboard link |
|
|
38
|
+
|---|---|---|
|
|
39
|
+
| Payment link | `POST /payment-links/v1/payment-links/query` · `GET /payment-links/v1/payment-links/{paymentLinkId}` | `pay-links` |
|
|
40
|
+
| Invoice | Invoices API (Query Invoices) | `wix-invoices` |
|
|
41
|
+
| Payment provider setup | Wix Payments Account API (`POST /payments/v1/wix-payments-account/connect` for onboarding status) | `wix-cashier/payments` |
|
|
42
|
+
|
|
43
|
+
Example — after creating a payment link:
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
Created a $50 payment link for "Consultation".
|
|
47
|
+
Manage your payment links here: https://manage.wix.com/dashboard/{metaSiteId}/pay-links
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Notes
|
|
51
|
+
|
|
52
|
+
- Wix Payments account-level pages (payouts, balance, disputes) are part of the provider's own dashboard flow and aren't stable site-dashboard routes — link `wix-cashier/payments` for anything payment-provider related.
|
|
@@ -10,12 +10,19 @@ This recipe covers the setup flow needed before creating payment links or collec
|
|
|
10
10
|
|
|
11
11
|
Before connecting Wix Payments, collect and confirm:
|
|
12
12
|
|
|
13
|
-
1. Terms acceptance: https://
|
|
13
|
+
1. Terms acceptance: https://support.wix.com/en/article/wix-payments-terms-of-service
|
|
14
14
|
2. First name
|
|
15
15
|
3. Last name
|
|
16
16
|
4. Product/service description (minimum meaningful business description)
|
|
17
|
+
5. The site's country — if not already known, get it from `properties.locale.country` via `GET https://www.wixapis.com/site-properties/v4/properties`
|
|
17
18
|
|
|
18
|
-
## Step 2:
|
|
19
|
+
## Step 2: Check country support
|
|
20
|
+
|
|
21
|
+
Wix Payments self-serve connect is currently supported for these countries: `US, CA, GB, ES, AT, BE, FI, DE, IT, NL, PT, CH, LT`.
|
|
22
|
+
|
|
23
|
+
If the site's country is not on this list, stop here — do not call connect. Tell the user self-serve connect isn't available yet for their country, and point them to the dashboard instead (Settings → Accept Payments).
|
|
24
|
+
|
|
25
|
+
## Step 3: Connect Wix Payments account
|
|
19
26
|
|
|
20
27
|
Call:
|
|
21
28
|
|
|
@@ -27,12 +34,13 @@ Call:
|
|
|
27
34
|
"firstName": "<USER_FIRST_NAME>",
|
|
28
35
|
"lastName": "<USER_LAST_NAME>",
|
|
29
36
|
"tosAccepted": true,
|
|
30
|
-
"productDescription": "<PRODUCT_DESCRIPTION>"
|
|
37
|
+
"productDescription": "<PRODUCT_DESCRIPTION>",
|
|
38
|
+
"country": "<COUNTRY_CODE verified in Step 2>"
|
|
31
39
|
}
|
|
32
40
|
}
|
|
33
41
|
```
|
|
34
42
|
|
|
35
|
-
## Step
|
|
43
|
+
## Step 4: Handle common setup blockers
|
|
36
44
|
|
|
37
45
|
### Location-related failure
|
|
38
46
|
|
|
@@ -43,15 +51,30 @@ If setup fails due to location details, update the business location and retry:
|
|
|
43
51
|
|
|
44
52
|
### Already connected
|
|
45
53
|
|
|
46
|
-
If the
|
|
54
|
+
If the account is already connected, the API returns `HTTP 500` with a body like:
|
|
55
|
+
|
|
56
|
+
```json
|
|
57
|
+
{
|
|
58
|
+
"message": "payments already connected",
|
|
59
|
+
"details": { "applicationError": { "code": "INTERNAL_ERROR" } }
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Match on the `message` text, not on the `code` alone — `INTERNAL_ERROR` is a generic code reused for unrelated failures too. On this match, skip reconnect and continue with onboarding checks.
|
|
47
64
|
|
|
48
|
-
|
|
65
|
+
### Unsupported country
|
|
66
|
+
|
|
67
|
+
If `account.country` isn't one of the countries listed in Step 2, expect an `INVALID_ARGUMENT`-style `HTTP 400` error. Step 2's own check should make hitting this rare — don't retry the call with a different country value; tell the user the same thing Step 2 would have.
|
|
68
|
+
|
|
69
|
+
## Step 5: Complete dashboard onboarding
|
|
49
70
|
|
|
50
71
|
Connecting the account is not always the final step. To receive payments, the site owner may still need to complete Wix Payments onboarding in the site dashboard.
|
|
51
72
|
|
|
73
|
+
Connecting Wix Payments and being able to accept real checkout payments are two separate gates: the site may also need a premium eCommerce plan (Settings → Plans). Mention this even after a successful connect.
|
|
74
|
+
|
|
52
75
|
## Important Notes
|
|
53
76
|
|
|
54
77
|
1. Never invent or assume user identity/business details.
|
|
55
|
-
2. Always obtain explicit user consent before calling connect.
|
|
78
|
+
2. Always obtain explicit user consent before calling connect — this creates a real Wix Payments account and records a legally-binding Terms of Service acceptance under the name provided.
|
|
56
79
|
3. Use the exact accepted values provided by the user.
|
|
57
80
|
4. Verify readiness by testing a real payment flow (for example, create payment link) after setup.
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "Retrieve Google Ads Billing and Payment Details"
|
|
3
|
+
description: "Retrieves billing and payment details for a Wix site's Google Ads account: the current billing period's ad spend (usage), the Wix service fee, the total charge, any promotional coupon adjustment, the billing period dates, and the account's credit balance (positive = available credits, negative = outstanding debt not yet charged). Also explains reading current vs remaining budget from the account object. Use when the user asks 'how much have I spent on Google Ads', 'what's my next Google Ads charge', 'show my ad billing', 'do I have ad credits left', 'why was I charged', or 'upcoming Google Ads payment'. Requires an existing Google Ads account. REST base https://www.wixapis.com/google-ads/v1."
|
|
4
|
+
---
|
|
5
|
+
# RECIPE: Retrieve Google Ads Billing and Payment Details
|
|
6
|
+
|
|
7
|
+
Report what a site owner will be charged for Google Ads: ad spend, the Wix service fee, coupon adjustments, the total, the billing period, and the account's credit balance.
|
|
8
|
+
|
|
9
|
+
Base URL: `https://www.wixapis.com/google-ads/v1`. `<AUTH>` is the `Authorization` header. This endpoint is read-only.
|
|
10
|
+
|
|
11
|
+
**Prerequisite:** a Google Ads account must exist (`ACCOUNT_NOT_FOUND` → run [install-and-create-account](install-and-create-account.md)).
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Get payment details
|
|
16
|
+
|
|
17
|
+
Billing is calculated from cached subscription data (not fetched live from Google), and the charge calculation is heavy — this endpoint has a **30-second SLA**, so allow time and don't retry prematurely.
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
curl -X GET 'https://www.wixapis.com/google-ads/v1/payment-details' -H 'Authorization: <AUTH>'
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
```json
|
|
24
|
+
{
|
|
25
|
+
"paymentDetails": {
|
|
26
|
+
"currency": "USD",
|
|
27
|
+
"upcomingPayments": [
|
|
28
|
+
{
|
|
29
|
+
"usageAmount": "123.45",
|
|
30
|
+
"wixServiceFee": "12.35",
|
|
31
|
+
"totalAmount": "135.80",
|
|
32
|
+
"billingPeriod": { "from": "2026-03-01", "to": "2026-03-31" },
|
|
33
|
+
"couponAdjustmentAmount": "0.00"
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"creditBalance": "0.00"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**Reading the response:**
|
|
42
|
+
- `currency` — the account's billing currency; all amounts here are in it.
|
|
43
|
+
- `upcomingPayments[]` — the current billing period breakdown (up to 2 entries). Per entry:
|
|
44
|
+
- `usageAmount` — ad spend for the period, **excluding** the Wix fee.
|
|
45
|
+
- `wixServiceFee` — the Wix platform fee.
|
|
46
|
+
- `couponAdjustmentAmount` — discount applied from a promotional coupon.
|
|
47
|
+
- `totalAmount` — what will actually be charged: `usageAmount + wixServiceFee − couponAdjustmentAmount`.
|
|
48
|
+
- `billingPeriod` — `from`/`to` dates (YYYY-MM-DD).
|
|
49
|
+
- `creditBalance` — the site's credits. **Positive** = credits available (e.g. from an incentive) that offset upcoming charges; **negative** = outstanding debt not yet charged. The final amount can shift slightly once the charge is processed.
|
|
50
|
+
|
|
51
|
+
When summarizing for the user, lead with `totalAmount` and the billing period, then break out spend vs fee, and flag a non-zero `creditBalance` (credits remaining, or debt owed).
|
|
52
|
+
|
|
53
|
+
> Note: an older `monthlyPayments` field is deprecated in favor of `upcomingPayments` — always read `upcomingPayments`.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Budget vs. billing — a related but different view
|
|
58
|
+
|
|
59
|
+
Payment details cover *charges*. The **account object** (from `GET /v1/accounts/current-site`, see [install-and-create-account](install-and-create-account.md)) carries the *ad-budget* view:
|
|
60
|
+
- `currentBudget` — remaining ad budget/credit (negative = debt not yet charged).
|
|
61
|
+
- `spentBudget` — total spent on ads so far.
|
|
62
|
+
|
|
63
|
+
Use payment details for "what will I be charged and when"; use the account's budget fields for "how much ad budget is left."
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Error handling
|
|
68
|
+
|
|
69
|
+
| Symptom | Cause | Fix |
|
|
70
|
+
| --- | --- | --- |
|
|
71
|
+
| `NOT_FOUND` / `ACCOUNT_NOT_FOUND` | No Google Ads account for the site | Run [install-and-create-account](install-and-create-account.md) |
|
|
72
|
+
| Slow response (up to ~30s) | Charge calculation SLA | Wait; don't retry prematurely |
|
|
73
|
+
| `upcomingPayments` empty | No charges accrued yet this period | Report zero upcoming charges; check `creditBalance` for credits/debt |
|
|
74
|
+
| Negative `creditBalance` | Outstanding debt not yet charged | Explain it's owed and will be charged; not an error |
|
|
75
|
+
|
|
76
|
+
## References
|
|
77
|
+
|
|
78
|
+
- [Payment Details Service introduction](https://dev.wix.com/docs/api-reference/business-management/marketing/ads/google-ads/payment-details-v1/introduction)
|
|
79
|
+
- [Get Payment Details](https://dev.wix.com/docs/api-reference/business-management/marketing/ads/google-ads/payment-details-v1/get-payment-details)
|
|
80
|
+
- [Account Service](https://dev.wix.com/docs/api-reference/business-management/marketing/ads/google-ads/google-account-v1/introduction)
|