@salesforce/b2c-cli 2.3.1 → 2.5.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/bin/dev.js +8 -8
- package/bin/run.js +5 -7
- package/content/guidance/b2c/b2c-business-manager-extensions/SKILL.md +361 -0
- package/content/guidance/b2c/b2c-business-manager-extensions/references/EXTENSIONS-XML.md +458 -0
- package/content/guidance/b2c/b2c-controllers/SKILL.md +301 -0
- package/content/guidance/b2c/b2c-controllers/references/CLASSIC-PATTERNS.md +335 -0
- package/content/guidance/b2c/b2c-controllers/references/SFRA-PATTERNS.md +400 -0
- package/content/guidance/b2c/b2c-custom-api-development/SKILL.md +281 -0
- package/content/guidance/b2c/b2c-custom-api-development/references/CONTRACT.md +142 -0
- package/content/guidance/b2c/b2c-custom-api-development/references/IMPLEMENTATION.md +153 -0
- package/content/guidance/b2c/b2c-custom-api-development/references/TESTING.md +118 -0
- package/content/guidance/b2c/b2c-custom-caches/SKILL.md +279 -0
- package/content/guidance/b2c/b2c-custom-job-steps/SKILL.md +520 -0
- package/content/guidance/b2c/b2c-custom-job-steps/references/CHUNK-ORIENTED.md +377 -0
- package/content/guidance/b2c/b2c-custom-job-steps/references/JOBS-XML.md +212 -0
- package/content/guidance/b2c/b2c-custom-job-steps/references/STEPTYPES-JSON.md +373 -0
- package/content/guidance/b2c/b2c-custom-job-steps/references/TASK-ORIENTED.md +344 -0
- package/content/guidance/b2c/b2c-custom-objects/SKILL.md +327 -0
- package/content/guidance/b2c/b2c-custom-objects/references/OCAPI-SEARCH.md +298 -0
- package/content/guidance/b2c/b2c-forms/SKILL.md +242 -0
- package/content/guidance/b2c/b2c-forms/references/FORM-XML.md +409 -0
- package/content/guidance/b2c/b2c-hooks/SKILL.md +500 -0
- package/content/guidance/b2c/b2c-hooks/references/OCAPI-SCAPI-HOOKS.md +403 -0
- package/content/guidance/b2c/b2c-hooks/references/ORDER-HOOK-LIFECYCLE.md +169 -0
- package/content/guidance/b2c/b2c-hooks/references/SYSTEM-HOOKS.md +433 -0
- package/content/guidance/b2c/b2c-isml/SKILL.md +320 -0
- package/content/guidance/b2c/b2c-isml/references/EXPRESSIONS.md +366 -0
- package/content/guidance/b2c/b2c-isml/references/TAGS.md +443 -0
- package/content/guidance/b2c/b2c-localization/SKILL.md +344 -0
- package/content/guidance/b2c/b2c-localization/references/PATTERNS.md +407 -0
- package/content/guidance/b2c/b2c-logging/SKILL.md +352 -0
- package/content/guidance/b2c/b2c-logging/references/LOG-FILES.md +282 -0
- package/content/guidance/b2c/b2c-metadata/SKILL.md +406 -0
- package/content/guidance/b2c/b2c-metadata/references/SYSTEM-OBJECTS.md +320 -0
- package/content/guidance/b2c/b2c-metadata/references/XML-EXAMPLES.md +366 -0
- package/content/guidance/b2c/b2c-onboarding/SKILL.md +154 -0
- package/content/guidance/b2c/b2c-ordering/SKILL.md +391 -0
- package/content/guidance/b2c/b2c-page-designer/SKILL.md +410 -0
- package/content/guidance/b2c/b2c-page-designer/references/ATTRIBUTE-TYPES.md +436 -0
- package/content/guidance/b2c/b2c-page-designer/references/META-DEFINITIONS.md +340 -0
- package/content/guidance/b2c/b2c-querying-data/SKILL.md +289 -0
- package/content/guidance/b2c/b2c-querying-data/references/PERFORMANCE-APIS.md +74 -0
- package/content/guidance/b2c/b2c-scapi-admin/SKILL.md +53 -0
- package/content/guidance/b2c/b2c-scapi-admin/references/CLIENT-EXAMPLES.md +440 -0
- package/content/guidance/b2c/b2c-scapi-admin/references/INTEGRATION-PATTERNS.md +518 -0
- package/content/guidance/b2c/b2c-scapi-admin/references/OAUTH-SCOPES.md +337 -0
- package/content/guidance/b2c/b2c-scapi-shopper/SKILL.md +56 -0
- package/content/guidance/b2c/b2c-scapi-shopper/references/CHECKOUT-FLOW.md +466 -0
- package/content/guidance/b2c/b2c-scapi-shopper/references/CLIENT-EXAMPLES.md +351 -0
- package/content/guidance/b2c/b2c-scapi-shopper/references/COMMON-PATTERNS.md +390 -0
- package/content/guidance/b2c/b2c-scapi-shopper/references/SCOPES.md +290 -0
- package/content/guidance/b2c/b2c-slas-auth-patterns/SKILL.md +420 -0
- package/content/guidance/b2c/b2c-slas-auth-patterns/references/PASSKEYS.md +126 -0
- package/content/guidance/b2c/b2c-slas-auth-patterns/references/SESSION-BRIDGE.md +267 -0
- package/content/guidance/b2c/b2c-slas-auth-patterns/references/TOKEN-LIFECYCLE.md +367 -0
- package/content/guidance/b2c/b2c-webservices/SKILL.md +318 -0
- package/content/guidance/b2c/b2c-webservices/references/FTP-SERVICES.md +524 -0
- package/content/guidance/b2c/b2c-webservices/references/HTTP-SERVICES.md +578 -0
- package/content/guidance/b2c/b2c-webservices/references/SERVICES-XML.md +351 -0
- package/content/guidance/b2c/b2c-webservices/references/SOAP-SERVICES.md +587 -0
- package/content/guidance/b2c-cli/b2c-am/SKILL.md +277 -0
- package/content/guidance/b2c-cli/b2c-bm-users-roles/SKILL.md +210 -0
- package/content/guidance/b2c-cli/b2c-cap/SKILL.md +131 -0
- package/content/guidance/b2c-cli/b2c-cip/SKILL.md +116 -0
- package/content/guidance/b2c-cli/b2c-cip/references/KNOWN_TABLES.md +105 -0
- package/content/guidance/b2c-cli/b2c-cip/references/SALES_ANALYSIS.md +50 -0
- package/content/guidance/b2c-cli/b2c-cip/references/STARTER_QUERIES.md +147 -0
- package/content/guidance/b2c-cli/b2c-code/SKILL.md +146 -0
- package/content/guidance/b2c-cli/b2c-config/SKILL.md +481 -0
- package/content/guidance/b2c-cli/b2c-content/SKILL.md +176 -0
- package/content/guidance/b2c-cli/b2c-debug/SKILL.md +138 -0
- package/content/guidance/b2c-cli/b2c-docs/SKILL.md +301 -0
- package/content/guidance/b2c-cli/b2c-ecdn/SKILL.md +137 -0
- package/content/guidance/b2c-cli/b2c-ecdn/references/ADVANCED.md +97 -0
- package/content/guidance/b2c-cli/b2c-ecdn/references/SECURITY.md +75 -0
- package/content/guidance/b2c-cli/b2c-import-set-migrations/SKILL.md +265 -0
- package/content/guidance/b2c-cli/b2c-job/SKILL.md +70 -0
- package/content/guidance/b2c-cli/b2c-job/references/EXPORT.md +121 -0
- package/content/guidance/b2c-cli/b2c-job/references/IMPORT.md +55 -0
- package/content/guidance/b2c-cli/b2c-job/references/RUN-AND-MONITOR.md +148 -0
- package/content/guidance/b2c-cli/b2c-logs/SKILL.md +249 -0
- package/content/guidance/b2c-cli/b2c-metrics/SKILL.md +315 -0
- package/content/guidance/b2c-cli/b2c-mrt/SKILL.md +207 -0
- package/content/guidance/b2c-cli/b2c-mrt/references/BUNDLE-COMMANDS.md +203 -0
- package/content/guidance/b2c-cli/b2c-mrt/references/ENVIRONMENT-COMMANDS.md +218 -0
- package/content/guidance/b2c-cli/b2c-mrt/references/PROJECT-COMMANDS.md +154 -0
- package/content/guidance/b2c-cli/b2c-sandbox/SKILL.md +112 -0
- package/content/guidance/b2c-cli/b2c-scapi-custom/SKILL.md +126 -0
- package/content/guidance/b2c-cli/b2c-scapi-schemas/SKILL.md +70 -0
- package/content/guidance/b2c-cli/b2c-scapi-schemas/references/CLI-EXAMPLES.md +108 -0
- package/content/guidance/b2c-cli/b2c-site-import-export/SKILL.md +57 -0
- package/content/guidance/b2c-cli/b2c-site-import-export/references/IMPORT-OPTIONS.md +118 -0
- package/content/guidance/b2c-cli/b2c-site-import-export/references/METADATA-XML.md +381 -0
- package/content/guidance/b2c-cli/b2c-site-import-export/references/WORKFLOWS.md +182 -0
- package/content/guidance/b2c-cli/b2c-sites/SKILL.md +112 -0
- package/content/guidance/b2c-cli/b2c-slas/SKILL.md +182 -0
- package/content/guidance/b2c-cli/b2c-webdav/SKILL.md +186 -0
- package/content/guidance/b2c-ops/b2c-checkout-triage/SKILL.md +68 -0
- package/content/guidance/b2c-ops/b2c-edge-traffic-triage/SKILL.md +69 -0
- package/content/guidance/b2c-ops/b2c-job-health/SKILL.md +80 -0
- package/content/guidance/b2c-ops/b2c-job-health/references/job-logs.md +21 -0
- package/content/guidance/b2c-ops/b2c-order-failure-triage/SKILL.md +66 -0
- package/content/guidance/b2c-ops/b2c-order-failure-triage/references/order-evidence.md +87 -0
- package/content/guidance/b2c-ops/b2c-production-triage/SKILL.md +88 -0
- package/content/guidance/b2c-ops/b2c-production-triage/references/escalation.md +57 -0
- package/content/guidance/index.json +1969 -0
- package/content/guidance/storefront-next/sfnext-accessibility/SKILL.md +103 -0
- package/content/guidance/storefront-next/sfnext-accessibility/references/checklist.md +64 -0
- package/content/guidance/storefront-next/sfnext-analytics-consent/SKILL.md +91 -0
- package/content/guidance/storefront-next/sfnext-analytics-consent/references/CUSTOM-ADAPTER.md +49 -0
- package/content/guidance/storefront-next/sfnext-authentication/SKILL.md +127 -0
- package/content/guidance/storefront-next/sfnext-authentication/references/COOKIES.md +39 -0
- package/content/guidance/storefront-next/sfnext-authentication/references/LOGIN-FLOWS.md +59 -0
- package/content/guidance/storefront-next/sfnext-commerce-features/SKILL.md +67 -0
- package/content/guidance/storefront-next/sfnext-commerce-features/references/FEATURE-PREREQUISITES.md +37 -0
- package/content/guidance/storefront-next/sfnext-components/SKILL.md +153 -0
- package/content/guidance/storefront-next/sfnext-components/references/COMPONENT-AUTHORING.md +118 -0
- package/content/guidance/storefront-next/sfnext-components/references/SHAPE-TOKENS.md +51 -0
- package/content/guidance/storefront-next/sfnext-components/references/STORYBOOK.md +54 -0
- package/content/guidance/storefront-next/sfnext-components/references/TOKEN-SYSTEM.md +53 -0
- package/content/guidance/storefront-next/sfnext-components/references/TROUBLESHOOTING.md +19 -0
- package/content/guidance/storefront-next/sfnext-configuration/SKILL.md +163 -0
- package/content/guidance/storefront-next/sfnext-configuration/references/ENV-VARIABLES.md +55 -0
- package/content/guidance/storefront-next/sfnext-configuration/references/MULTI-SITE-URLS.md +137 -0
- package/content/guidance/storefront-next/sfnext-data-fetching/SKILL.md +140 -0
- package/content/guidance/storefront-next/sfnext-data-fetching/references/ACTIONS.md +53 -0
- package/content/guidance/storefront-next/sfnext-data-fetching/references/API-CLIENTS.md +34 -0
- package/content/guidance/storefront-next/sfnext-data-fetching/references/LOADERS.md +73 -0
- package/content/guidance/storefront-next/sfnext-data-fetching/references/SCAPI-FETCHER.md +39 -0
- package/content/guidance/storefront-next/sfnext-deployment/SKILL.md +127 -0
- package/content/guidance/storefront-next/sfnext-deployment/references/MRT-DEPLOYMENT.md +59 -0
- package/content/guidance/storefront-next/sfnext-extensions/SKILL.md +118 -0
- package/content/guidance/storefront-next/sfnext-extensions/references/ACTION-HOOKS.md +57 -0
- package/content/guidance/storefront-next/sfnext-extensions/references/BASE-AUDIT.md +68 -0
- package/content/guidance/storefront-next/sfnext-extensions/references/CLI-AND-INSTALL.md +58 -0
- package/content/guidance/storefront-next/sfnext-extensions/references/EXTENSION-EXAMPLES.md +79 -0
- package/content/guidance/storefront-next/sfnext-hybrid-storefronts/SKILL.md +93 -0
- package/content/guidance/storefront-next/sfnext-hybrid-storefronts/references/HYBRID-PROXY-CONFIG.md +86 -0
- package/content/guidance/storefront-next/sfnext-i18n/SKILL.md +152 -0
- package/content/guidance/storefront-next/sfnext-i18n/references/locale-config.md +35 -0
- package/content/guidance/storefront-next/sfnext-overview/SKILL.md +101 -0
- package/content/guidance/storefront-next/sfnext-page-designer/SKILL.md +202 -0
- package/content/guidance/storefront-next/sfnext-page-designer/references/BUSINESS-MANAGER.md +46 -0
- package/content/guidance/storefront-next/sfnext-page-designer/references/COMPONENT-REGISTRY.md +111 -0
- package/content/guidance/storefront-next/sfnext-page-designer/references/DECORATOR-PATTERNS.md +168 -0
- package/content/guidance/storefront-next/sfnext-page-designer/references/REVIEW-CHECKLIST.md +83 -0
- package/content/guidance/storefront-next/sfnext-page-designer/references/TROUBLESHOOTING.md +35 -0
- package/content/guidance/storefront-next/sfnext-performance/SKILL.md +102 -0
- package/content/guidance/storefront-next/sfnext-performance/references/PERFORMANCE-REVIEW-CHECKLIST.md +85 -0
- package/content/guidance/storefront-next/sfnext-performance/references/SUSPENSE-AND-STREAMING.md +58 -0
- package/content/guidance/storefront-next/sfnext-project-setup/SKILL.md +147 -0
- package/content/guidance/storefront-next/sfnext-project-setup/references/PROJECT-STRUCTURE.md +61 -0
- package/content/guidance/storefront-next/sfnext-project-setup/references/SCRIPTS.md +47 -0
- package/content/guidance/storefront-next/sfnext-project-setup/references/SFNEXT-CLI.md +63 -0
- package/content/guidance/storefront-next/sfnext-quality-gates/SKILL.md +70 -0
- package/content/guidance/storefront-next/sfnext-quality-gates/references/lint-and-budgets.md +39 -0
- package/content/guidance/storefront-next/sfnext-revalidation/SKILL.md +121 -0
- package/content/guidance/storefront-next/sfnext-revalidation/references/POLICIES-AND-TAGS.md +55 -0
- package/content/guidance/storefront-next/sfnext-routing/SKILL.md +123 -0
- package/content/guidance/storefront-next/sfnext-routing/references/ROUTE-CONVENTIONS.md +65 -0
- package/content/guidance/storefront-next/sfnext-routing/references/URLS-AND-SEO-ROUTES.md +22 -0
- package/content/guidance/storefront-next/sfnext-scapi/SKILL.md +126 -0
- package/content/guidance/storefront-next/sfnext-scapi/references/WORKED-EXAMPLE.md +39 -0
- package/content/guidance/storefront-next/sfnext-security/SKILL.md +129 -0
- package/content/guidance/storefront-next/sfnext-security/references/COOKIE-DOMAIN.md +39 -0
- package/content/guidance/storefront-next/sfnext-security/references/TURNSTILE.md +43 -0
- package/content/guidance/storefront-next/sfnext-seo/SKILL.md +95 -0
- package/content/guidance/storefront-next/sfnext-seo/references/MULTI-DOMAIN-BASE-PATH.md +17 -0
- package/content/guidance/storefront-next/sfnext-seo/references/SEO-ROUTES.md +31 -0
- package/content/guidance/storefront-next/sfnext-state-management/SKILL.md +114 -0
- package/content/guidance/storefront-next/sfnext-state-management/references/PATTERNS.md +45 -0
- package/content/guidance/storefront-next/sfnext-testing/SKILL.md +151 -0
- package/content/guidance/storefront-next/sfnext-testing/references/E2E.md +38 -0
- package/content/guidance/storefront-next/sfnext-testing/references/STORYBOOK-PATTERNS.md +97 -0
- package/content/guidance/storefront-next/sfnext-testing/references/UNIT-AND-ROUTE-TESTS.md +60 -0
- package/content/guidance/storefront-next/sfnext-theming/SKILL.md +104 -0
- package/content/guidance/storefront-next/sfnext-theming/references/REBRAND-CHECKLIST.md +29 -0
- package/dist/commands/cap/install.d.ts +1 -0
- package/dist/commands/cap/list.d.ts +1 -0
- package/dist/commands/cap/pull.d.ts +1 -0
- package/dist/commands/cap/tasks.d.ts +1 -0
- package/dist/commands/cap/uninstall.d.ts +1 -0
- package/dist/commands/cip/describe.d.ts +1 -0
- package/dist/commands/cip/query.d.ts +1 -0
- package/dist/commands/cip/report/bot-traffic-share.d.ts +1 -0
- package/dist/commands/cip/report/checkout-funnel-dropoff.d.ts +1 -0
- package/dist/commands/cip/report/controller-error-rate-trend.d.ts +1 -0
- package/dist/commands/cip/report/controller-health-scorecard.d.ts +1 -0
- package/dist/commands/cip/report/customer-registration-trends.d.ts +1 -0
- package/dist/commands/cip/report/discount-depth-breakdown.d.ts +1 -0
- package/dist/commands/cip/report/inventory-stockout-by-location.d.ts +1 -0
- package/dist/commands/cip/report/new-vs-returning-buyer-revenue.d.ts +1 -0
- package/dist/commands/cip/report/ocapi-client-usage.d.ts +1 -0
- package/dist/commands/cip/report/ocapi-requests.d.ts +1 -0
- package/dist/commands/cip/report/payment-method-performance.d.ts +1 -0
- package/dist/commands/cip/report/product-co-purchase-analysis.d.ts +1 -0
- package/dist/commands/cip/report/promotion-discount-analysis.d.ts +1 -0
- package/dist/commands/cip/report/promotion-roi-leaderboard.d.ts +1 -0
- package/dist/commands/cip/report/recommender-effectiveness.d.ts +1 -0
- package/dist/commands/cip/report/remote-include-performance.d.ts +1 -0
- package/dist/commands/cip/report/revenue-by-channel.d.ts +1 -0
- package/dist/commands/cip/report/sales-analytics.d.ts +1 -0
- package/dist/commands/cip/report/sales-summary.d.ts +1 -0
- package/dist/commands/cip/report/scapi-cache-hit-ratio.d.ts +1 -0
- package/dist/commands/cip/report/scapi-error-rate-by-status.d.ts +1 -0
- package/dist/commands/cip/report/scapi-latency-distribution.d.ts +1 -0
- package/dist/commands/cip/report/scapi-traffic-latency.d.ts +1 -0
- package/dist/commands/cip/report/search-query-performance.d.ts +1 -0
- package/dist/commands/cip/report/top-referrers.d.ts +1 -0
- package/dist/commands/cip/report/top-selling-products.d.ts +1 -0
- package/dist/commands/cip/report/zero-result-searches.d.ts +1 -0
- package/dist/commands/cip/tables.d.ts +1 -0
- package/dist/commands/code/activate.d.ts +1 -0
- package/dist/commands/code/delete.d.ts +1 -0
- package/dist/commands/code/deploy.d.ts +1 -0
- package/dist/commands/code/download.d.ts +1 -0
- package/dist/commands/code/watch.d.ts +1 -0
- package/dist/commands/commands/search.d.ts +35 -0
- package/dist/commands/commands/search.js +85 -0
- package/dist/commands/commands/search.js.map +1 -0
- package/dist/commands/content/export.d.ts +1 -0
- package/dist/commands/content/list.d.ts +1 -0
- package/dist/commands/content/validate.d.ts +1 -0
- package/dist/commands/debug/cli.d.ts +1 -0
- package/dist/commands/debug/index.d.ts +1 -0
- package/dist/commands/docs/cache.d.ts +1 -0
- package/dist/commands/docs/download.d.ts +1 -0
- package/dist/commands/docs/read.d.ts +1 -0
- package/dist/commands/docs/schema.d.ts +1 -0
- package/dist/commands/docs/search.d.ts +1 -0
- package/dist/commands/docs/skill.d.ts +41 -0
- package/dist/commands/docs/skill.js +183 -0
- package/dist/commands/docs/skill.js.map +1 -0
- package/dist/commands/ecdn/cache/purge.d.ts +1 -0
- package/dist/commands/ecdn/certificates/add.d.ts +1 -0
- package/dist/commands/ecdn/certificates/delete.d.ts +1 -0
- package/dist/commands/ecdn/certificates/list.d.ts +1 -0
- package/dist/commands/ecdn/certificates/update.d.ts +1 -0
- package/dist/commands/ecdn/certificates/validate.d.ts +1 -0
- package/dist/commands/ecdn/cipher-suites/get.d.ts +1 -0
- package/dist/commands/ecdn/cipher-suites/update.d.ts +1 -0
- package/dist/commands/ecdn/firewall/create.d.ts +1 -0
- package/dist/commands/ecdn/firewall/delete.d.ts +1 -0
- package/dist/commands/ecdn/firewall/get.d.ts +1 -0
- package/dist/commands/ecdn/firewall/list.d.ts +1 -0
- package/dist/commands/ecdn/firewall/reorder.d.ts +1 -0
- package/dist/commands/ecdn/firewall/update.d.ts +1 -0
- package/dist/commands/ecdn/logpush/jobs/create.d.ts +1 -0
- package/dist/commands/ecdn/logpush/jobs/delete.d.ts +1 -0
- package/dist/commands/ecdn/logpush/jobs/get.d.ts +1 -0
- package/dist/commands/ecdn/logpush/jobs/list.d.ts +1 -0
- package/dist/commands/ecdn/logpush/jobs/update.d.ts +1 -0
- package/dist/commands/ecdn/logpush/ownership.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/create.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/delete.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/get.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/rules/delete.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/rules/update.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/update.d.ts +1 -0
- package/dist/commands/ecdn/mtls/create.d.ts +1 -0
- package/dist/commands/ecdn/mtls/delete.d.ts +1 -0
- package/dist/commands/ecdn/mtls/get.d.ts +1 -0
- package/dist/commands/ecdn/mtls/issue.d.ts +1 -0
- package/dist/commands/ecdn/mtls/list.d.ts +1 -0
- package/dist/commands/ecdn/mtls/setup.d.ts +1 -0
- package/dist/commands/ecdn/origin-headers/delete.d.ts +1 -0
- package/dist/commands/ecdn/origin-headers/get.d.ts +1 -0
- package/dist/commands/ecdn/origin-headers/set.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/notifications/create.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/notifications/delete.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/notifications/list.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/policies/create.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/policies/delete.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/policies/get.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/policies/list.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/policies/update.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/scripts/get.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/scripts/list.d.ts +1 -0
- package/dist/commands/ecdn/rate-limit/create.d.ts +1 -0
- package/dist/commands/ecdn/rate-limit/delete.d.ts +1 -0
- package/dist/commands/ecdn/rate-limit/get.d.ts +1 -0
- package/dist/commands/ecdn/rate-limit/list.d.ts +1 -0
- package/dist/commands/ecdn/rate-limit/update.d.ts +1 -0
- package/dist/commands/ecdn/security/get.d.ts +1 -0
- package/dist/commands/ecdn/security/update.d.ts +1 -0
- package/dist/commands/ecdn/speed/get.d.ts +1 -0
- package/dist/commands/ecdn/speed/update.d.ts +1 -0
- package/dist/commands/ecdn/waf/groups/list.d.ts +1 -0
- package/dist/commands/ecdn/waf/groups/update.d.ts +1 -0
- package/dist/commands/ecdn/waf/managed-rules/list.d.ts +1 -0
- package/dist/commands/ecdn/waf/managed-rules/update.d.ts +1 -0
- package/dist/commands/ecdn/waf/migrate.d.ts +1 -0
- package/dist/commands/ecdn/waf/owasp/get.d.ts +1 -0
- package/dist/commands/ecdn/waf/owasp/update.d.ts +1 -0
- package/dist/commands/ecdn/waf/rules/get.d.ts +1 -0
- package/dist/commands/ecdn/waf/rules/list.d.ts +1 -0
- package/dist/commands/ecdn/waf/rules/update.d.ts +1 -0
- package/dist/commands/ecdn/waf/rulesets/list.d.ts +1 -0
- package/dist/commands/ecdn/waf/rulesets/update.d.ts +1 -0
- package/dist/commands/ecdn/zones/create.d.ts +1 -0
- package/dist/commands/ecdn/zones/list.d.ts +1 -0
- package/dist/commands/job/execution/delete.d.ts +1 -0
- package/dist/commands/job/export.d.ts +1 -0
- package/dist/commands/job/import-set.d.ts +1 -0
- package/dist/commands/job/import.d.ts +1 -0
- package/dist/commands/job/log.d.ts +1 -0
- package/dist/commands/job/run.d.ts +1 -0
- package/dist/commands/job/run.js +1 -1
- package/dist/commands/job/run.js.map +1 -1
- package/dist/commands/job/search.d.ts +1 -0
- package/dist/commands/job/wait.d.ts +1 -0
- package/dist/commands/logs/get.d.ts +1 -0
- package/dist/commands/logs/list.d.ts +1 -0
- package/dist/commands/logs/tail.d.ts +1 -0
- package/dist/commands/metrics/controller.d.ts +1 -0
- package/dist/commands/metrics/ecdn.d.ts +1 -0
- package/dist/commands/metrics/mrt.d.ts +1 -0
- package/dist/commands/metrics/ocapi.d.ts +1 -0
- package/dist/commands/metrics/overall.d.ts +1 -0
- package/dist/commands/metrics/sales.d.ts +1 -0
- package/dist/commands/metrics/scapi-hooks.d.ts +1 -0
- package/dist/commands/metrics/scapi.d.ts +1 -0
- package/dist/commands/metrics/third-party.d.ts +1 -0
- package/dist/commands/mrt/bundle/delete.d.ts +1 -0
- package/dist/commands/mrt/bundle/deploy.d.ts +1 -0
- package/dist/commands/mrt/bundle/download.d.ts +1 -0
- package/dist/commands/mrt/bundle/history.d.ts +1 -0
- package/dist/commands/mrt/bundle/list.d.ts +1 -0
- package/dist/commands/mrt/bundle/save.d.ts +1 -0
- package/dist/commands/mrt/bundle/upload-v2.d.ts +1 -0
- package/dist/commands/mrt/env/access-control/list.d.ts +1 -0
- package/dist/commands/mrt/env/b2c.d.ts +1 -0
- package/dist/commands/mrt/env/clone.d.ts +1 -0
- package/dist/commands/mrt/env/create.d.ts +1 -0
- package/dist/commands/mrt/env/delete.d.ts +1 -0
- package/dist/commands/mrt/env/get.d.ts +1 -0
- package/dist/commands/mrt/env/invalidate.d.ts +1 -0
- package/dist/commands/mrt/env/list.d.ts +1 -0
- package/dist/commands/mrt/env/redirect/clone.d.ts +1 -0
- package/dist/commands/mrt/env/redirect/create.d.ts +1 -0
- package/dist/commands/mrt/env/redirect/delete.d.ts +1 -0
- package/dist/commands/mrt/env/redirect/list.d.ts +1 -0
- package/dist/commands/mrt/env/update.d.ts +1 -0
- package/dist/commands/mrt/env/var/delete.d.ts +1 -0
- package/dist/commands/mrt/env/var/list.d.ts +1 -0
- package/dist/commands/mrt/env/var/push.d.ts +1 -0
- package/dist/commands/mrt/env/var/set.d.ts +1 -0
- package/dist/commands/mrt/org/b2c.d.ts +1 -0
- package/dist/commands/mrt/org/cert/create.d.ts +1 -0
- package/dist/commands/mrt/org/cert/delete.d.ts +1 -0
- package/dist/commands/mrt/org/cert/get.d.ts +1 -0
- package/dist/commands/mrt/org/cert/list.d.ts +1 -0
- package/dist/commands/mrt/org/cert/restart-validation.d.ts +1 -0
- package/dist/commands/mrt/org/list.d.ts +1 -0
- package/dist/commands/mrt/org/member/add.d.ts +1 -0
- package/dist/commands/mrt/org/member/get.d.ts +1 -0
- package/dist/commands/mrt/org/member/list.d.ts +1 -0
- package/dist/commands/mrt/org/member/remove.d.ts +1 -0
- package/dist/commands/mrt/org/member/update.d.ts +1 -0
- package/dist/commands/mrt/project/create.d.ts +1 -0
- package/dist/commands/mrt/project/delete.d.ts +1 -0
- package/dist/commands/mrt/project/get.d.ts +1 -0
- package/dist/commands/mrt/project/list.d.ts +1 -0
- package/dist/commands/mrt/project/member/add.d.ts +1 -0
- package/dist/commands/mrt/project/member/get.d.ts +1 -0
- package/dist/commands/mrt/project/member/list.d.ts +1 -0
- package/dist/commands/mrt/project/member/remove.d.ts +1 -0
- package/dist/commands/mrt/project/member/update.d.ts +1 -0
- package/dist/commands/mrt/project/notification/delete.d.ts +1 -0
- package/dist/commands/mrt/project/notification/get.d.ts +1 -0
- package/dist/commands/mrt/project/update.d.ts +1 -0
- package/dist/commands/mrt/save-credentials.d.ts +1 -0
- package/dist/commands/mrt/tail-logs.d.ts +1 -0
- package/dist/commands/mrt/user/api-key.d.ts +1 -0
- package/dist/commands/mrt/user/email-prefs.d.ts +1 -0
- package/dist/commands/mrt/user/profile.d.ts +1 -0
- package/dist/commands/scaffold/init.js +2 -1
- package/dist/commands/scaffold/init.js.map +1 -1
- package/dist/commands/scapi/custom/status.d.ts +1 -0
- package/dist/commands/scapi/schemas/get.d.ts +9 -0
- package/dist/commands/scapi/schemas/get.js +51 -19
- package/dist/commands/scapi/schemas/get.js.map +1 -1
- package/dist/commands/scapi/schemas/list.d.ts +6 -0
- package/dist/commands/scapi/schemas/list.js +28 -18
- package/dist/commands/scapi/schemas/list.js.map +1 -1
- package/dist/commands/setup/get.d.ts +36 -0
- package/dist/commands/setup/get.js +67 -0
- package/dist/commands/setup/get.js.map +1 -0
- package/dist/commands/setup/ide/tsserver-plugin.d.ts +1 -0
- package/dist/commands/setup/ide/vscode-types.d.ts +1 -0
- package/dist/commands/setup/index.js +4 -3
- package/dist/commands/setup/index.js.map +1 -1
- package/dist/commands/setup/inspect.d.ts +1 -0
- package/dist/commands/setup/inspect.js +15 -4
- package/dist/commands/setup/inspect.js.map +1 -1
- package/dist/commands/setup/instance/create.d.ts +9 -0
- package/dist/commands/setup/instance/create.js +22 -6
- package/dist/commands/setup/instance/create.js.map +1 -1
- package/dist/commands/setup/instance/list.d.ts +1 -0
- package/dist/commands/setup/instance/list.js +3 -4
- package/dist/commands/setup/instance/list.js.map +1 -1
- package/dist/commands/setup/instance/remove.d.ts +1 -0
- package/dist/commands/setup/instance/remove.js +5 -5
- package/dist/commands/setup/instance/remove.js.map +1 -1
- package/dist/commands/setup/instance/set-active.d.ts +6 -0
- package/dist/commands/setup/instance/set-active.js +20 -5
- package/dist/commands/setup/instance/set-active.js.map +1 -1
- package/dist/commands/setup/openshell.d.ts +1 -0
- package/dist/commands/setup/set.d.ts +37 -0
- package/dist/commands/setup/set.js +87 -0
- package/dist/commands/setup/set.js.map +1 -0
- package/dist/commands/setup/skills.d.ts +1 -0
- package/dist/commands/setup/unset.d.ts +37 -0
- package/dist/commands/setup/unset.js +55 -0
- package/dist/commands/setup/unset.js.map +1 -0
- package/dist/commands/slas/client/create.d.ts +1 -0
- package/dist/commands/slas/client/delete.d.ts +1 -0
- package/dist/commands/slas/client/get.d.ts +1 -0
- package/dist/commands/slas/client/list.d.ts +1 -0
- package/dist/commands/slas/client/open.d.ts +1 -0
- package/dist/commands/slas/client/update.d.ts +1 -0
- package/dist/commands/slas/token.d.ts +1 -0
- package/dist/commands/slas/token.js +2 -1
- package/dist/commands/slas/token.js.map +1 -1
- package/dist/commands/webdav/get.d.ts +1 -0
- package/dist/commands/webdav/rm.d.ts +1 -0
- package/dist/help.d.ts +25 -0
- package/dist/help.js +96 -0
- package/dist/help.js.map +1 -0
- package/dist/lib/scaffold/generate-helper.js +3 -2
- package/dist/lib/scaffold/generate-helper.js.map +1 -1
- package/dist/lib/skills.d.ts +19 -0
- package/dist/lib/skills.js +75 -0
- package/dist/lib/skills.js.map +1 -0
- package/dist/utils/cip/command.d.ts +1 -0
- package/dist/utils/ecdn/zone-command.d.ts +1 -0
- package/dist/utils/setup/config-field-command.d.ts +25 -0
- package/dist/utils/setup/config-field-command.js +41 -0
- package/dist/utils/setup/config-field-command.js.map +1 -0
- package/dist/utils/slas/client.d.ts +1 -0
- package/oclif.manifest.json +20802 -16968
- package/package.json +11 -5
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: b2c-cip
|
|
3
|
+
description: Query CIP/CCAC sales, merchandising, payment, traffic, and API/controller analytics with the B2C CLI or MCP. Discover reports/tables, scope SQL, export results, and resolve analytics access.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# CIP analytics
|
|
7
|
+
|
|
8
|
+
Use warehouse analytics for trends; use SCAPI/logs for current records and
|
|
9
|
+
immediate diagnosis. If `b2c` is unavailable, use `npx @salesforce/b2c-cli`.
|
|
10
|
+
|
|
11
|
+
## Choose the surface
|
|
12
|
+
|
|
13
|
+
- Prefer MCP `cip_discover` / `cip_query` when available. Read
|
|
14
|
+
`skill://mcp/b2c-mcp-cip/SKILL.md` before querying and pass `skillRead: true`.
|
|
15
|
+
Discovery/config inspection is ungated. No terminal or token export needed.
|
|
16
|
+
- Use CLI for explicit CLI requests, automation, or larger local CSV/JSON exports.
|
|
17
|
+
MCP limits results to 500 rows / 24 KB; `truncated` means incomplete output,
|
|
18
|
+
and `rowCount` counts returned rows. CLI defaults differ: date flags use the
|
|
19
|
+
current month unless overridden. Set explicit dates for the user's task.
|
|
20
|
+
- Both surfaces use the same reports and toolkit configuration. Do not run both
|
|
21
|
+
to repeat a successful result.
|
|
22
|
+
|
|
23
|
+
## Configuration and access
|
|
24
|
+
|
|
25
|
+
Reuse resolved `tenantId`, `clientId`, `clientSecret` from `dw.json`, environment,
|
|
26
|
+
instance selection, and configuration plugins. Use masked `b2c setup inspect`
|
|
27
|
+
only if target/access is unclear; ask for missing values instead of guessing.
|
|
28
|
+
Do not read secret files or export tokens for normal analytics requests.
|
|
29
|
+
|
|
30
|
+
Requires Account Manager client credentials and the **Salesforce Commerce API**
|
|
31
|
+
role with the target tenant in its tenant filter. User/SLAS/JWT flows do not apply.
|
|
32
|
+
Overrides:
|
|
33
|
+
|
|
34
|
+
| Value | CLI / environment |
|
|
35
|
+
| --- | --- |
|
|
36
|
+
| Tenant | `--tenant-id` (`--tenant`) / `SFCC_TENANT_ID` |
|
|
37
|
+
| Client | `--client-id` / `SFCC_CLIENT_ID` |
|
|
38
|
+
| Secret | `--client-secret` / `SFCC_CLIENT_SECRET` |
|
|
39
|
+
| Analytics host | `--cip-host` / `SFCC_CIP_HOST` |
|
|
40
|
+
| Force staging analytics | `--staging` / `SFCC_CIP_STAGING` |
|
|
41
|
+
|
|
42
|
+
Tenants ending `_prd` select production analytics; other tenants select staging.
|
|
43
|
+
Explicit host configuration wins. Staging analytics is a destination, not an
|
|
44
|
+
instruction to change the target instance. Non-production data requires 26.1+
|
|
45
|
+
**Enable Reports & Dashboards Data Tracking**. Production tenants in test realms
|
|
46
|
+
can also need staging analytics. Dashboard: `https://ccac.stg.analytics.commercecloud.salesforce.com`.
|
|
47
|
+
|
|
48
|
+
Missing configuration/availability:
|
|
49
|
+
[analytics guide](https://salesforcecommercecloud.github.io/b2c-developer-tooling/guide/analytics-reports-cip-ccac.md) (`b2c docs read guide-analytics-reports-cip-ccac`).
|
|
50
|
+
Resolution details: `b2c-cli/b2c-config`. Read only the relevant section.
|
|
51
|
+
|
|
52
|
+
## Discover and execute
|
|
53
|
+
|
|
54
|
+
1. List/search reports; inspect the selected report's parameters. MCP report
|
|
55
|
+
details also supply tables and available result notes.
|
|
56
|
+
2. Fix site/date scope. Warehouse `nsite_id` often resembles `Sites-Example-Site`;
|
|
57
|
+
verify it in `ccdw_dim_site` rather than constructing it from a SCAPI site ID.
|
|
58
|
+
3. Run the report. Preview SQL only to adapt it or resolve an unclear definition.
|
|
59
|
+
Inspect table columns when custom SQL needs them; avoid exhaustive browsing.
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
b2c cip report list --category "Sales Analytics"
|
|
63
|
+
b2c cip report sales-analytics --describe
|
|
64
|
+
b2c cip report sales-analytics --site-id Sites-Example-Site --from 2026-09-01 --to 2026-09-07
|
|
65
|
+
|
|
66
|
+
# Existing report does not fit: inspect the relevant table, then adapt SQL.
|
|
67
|
+
b2c cip tables --pattern "ccdw_aggr_sales%"
|
|
68
|
+
b2c cip describe ccdw_aggr_sales_summary
|
|
69
|
+
b2c cip report sales-analytics --site-id Sites-Example-Site --from 2026-09-01 --to 2026-09-07 --sql
|
|
70
|
+
|
|
71
|
+
# Execute a reviewed query; CLI replaces <FROM>/<TO> date placeholders.
|
|
72
|
+
b2c cip query --file ./query.sql --from 2026-09-01 --to 2026-09-07 --format csv > sales.csv
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Raw SQL also accepts a positional query or stdin. MCP SQL must contain literal
|
|
76
|
+
dates; placeholder substitution is a CLI feature. Preserve exit status/errors
|
|
77
|
+
when redirecting output. `--format table|csv|json` controls report/query output;
|
|
78
|
+
`--json` uses the CLI's standard JSON envelope.
|
|
79
|
+
|
|
80
|
+
## Select technical reports
|
|
81
|
+
|
|
82
|
+
| Question | Report / constraint |
|
|
83
|
+
| --- | --- |
|
|
84
|
+
| Slow SCAPI endpoints | `scapi-latency-distribution`; histogram buckets describe a distribution, not exact percentiles |
|
|
85
|
+
| HTTP failures | `scapi-error-rate-by-status --status-class 5xx` |
|
|
86
|
+
| Cache effectiveness | `scapi-cache-hit-ratio` |
|
|
87
|
+
| Integration client usage | `ocapi-client-usage` |
|
|
88
|
+
| SFRA controllers | `controller-health-scorecard`, `controller-error-rate-trend`; site required |
|
|
89
|
+
|
|
90
|
+
SCAPI traffic can be headless or unassigned. Omit optional site filters only for
|
|
91
|
+
an intended all-site analysis; explain scope. Discover exact parameters with
|
|
92
|
+
`--describe` instead of inventing flags. All examples require a chosen date window.
|
|
93
|
+
|
|
94
|
+
## Query and interpret
|
|
95
|
+
|
|
96
|
+
Filter dates/sites and select needed columns; LIMIT alone does not bound database
|
|
97
|
+
work. Prefer aggregate tables over fact joins. Use summed revenue / summed orders
|
|
98
|
+
for period AOV, not daily averages. Preserve null ratios, missing dates, currency,
|
|
99
|
+
timezone, and coverage limits. Latest event date is not ingestion freshness.
|
|
100
|
+
|
|
101
|
+
Safety Mode applies; CIP uses POST even for SELECT/metadata. Do not bypass a
|
|
102
|
+
block. For 401/403, check credentials, role, and tenant filter without inferring
|
|
103
|
+
that every denial is a missing role. For quota/timeouts, narrow the window or
|
|
104
|
+
query; no retry loops. Official
|
|
105
|
+
[access and service limits](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_access_guide.html).
|
|
106
|
+
|
|
107
|
+
## Conditional references
|
|
108
|
+
|
|
109
|
+
Read a matching section only when the task needs it:
|
|
110
|
+
|
|
111
|
+
- Sales comparisons, gaps, latest activity: [SALES_ANALYSIS.md](references/SALES_ANALYSIS.md).
|
|
112
|
+
- Custom SQL patterns: [STARTER_QUERIES.md](references/STARTER_QUERIES.md).
|
|
113
|
+
- Unknown table family: [KNOWN_TABLES.md](references/KNOWN_TABLES.md), then live metadata.
|
|
114
|
+
- CLI options: [command reference](https://salesforcecommercecloud.github.io/b2c-developer-tooling/cli/cip.md) (`b2c docs read cli-cip`).
|
|
115
|
+
|
|
116
|
+
Stop once the requested result and material limitations are established.
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Known CIP Tables
|
|
2
|
+
|
|
3
|
+
This quick catalog is based on the official JDBC schema documentation.
|
|
4
|
+
|
|
5
|
+
Use this as a starting point. Always verify actual availability in your tenant with:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
b2c cip tables --tenant-id <tenant-id>
|
|
9
|
+
b2c cip describe <table-name> --tenant-id <tenant-id>
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Official schema references:
|
|
13
|
+
|
|
14
|
+
- https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_lakehouse_schema.html
|
|
15
|
+
- https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_aggregate_tables.html
|
|
16
|
+
- https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_dimension_tables.html
|
|
17
|
+
- https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_fact_tables.html
|
|
18
|
+
|
|
19
|
+
## Aggregate Tables (`ccdw_aggr_*`)
|
|
20
|
+
|
|
21
|
+
Best for KPI/reporting use cases (already summarized):
|
|
22
|
+
|
|
23
|
+
- [`ccdw_aggr_sales_summary`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_aggr_sales_summary.html)
|
|
24
|
+
- [`ccdw_aggr_product_sales_summary`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_aggr_product_sales_summary.html)
|
|
25
|
+
- [`ccdw_aggr_promotion_sales_summary`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_aggr_promotion_sales_summary.html)
|
|
26
|
+
- [`ccdw_aggr_payment_sales_summary`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_aggr_payment_sales_summary.html)
|
|
27
|
+
- [`ccdw_aggr_registration`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_aggr_registration.html)
|
|
28
|
+
- [`ccdw_aggr_search`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_aggr_search.html)
|
|
29
|
+
- [`ccdw_aggr_search_query`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_aggr_search_query.html)
|
|
30
|
+
- [`ccdw_aggr_search_conversion`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_aggr_search_conversion.html)
|
|
31
|
+
- [`ccdw_aggr_ocapi_request`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_aggr_ocapi_request.html)
|
|
32
|
+
- [`ccdw_aggr_scapi_request`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_aggr_scapi_request.html)
|
|
33
|
+
- [`ccdw_aggr_visit`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_aggr_visit.html)
|
|
34
|
+
- [`ccdw_aggr_visit_checkout`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_aggr_visit_checkout.html)
|
|
35
|
+
- [`ccdw_aggr_visit_referrer`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_aggr_visit_referrer.html)
|
|
36
|
+
- [`ccdw_aggr_visit_ip_address`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_aggr_visit_ip_address.html)
|
|
37
|
+
- [`ccdw_aggr_visit_user_agent`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_aggr_visit_user_agent.html)
|
|
38
|
+
- [`ccdw_aggr_visit_robot`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_aggr_visit_robot.html)
|
|
39
|
+
- [`ccdw_aggr_controller_request`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_aggr_controller_request.html)
|
|
40
|
+
- [`ccdw_aggr_include_controller_request`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_aggr_include_controller_request.html)
|
|
41
|
+
- [`ccdw_aggr_source_code_activation`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_aggr_source_code_activation.html)
|
|
42
|
+
- [`ccdw_aggr_source_code_sales`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_aggr_source_code_sales.html)
|
|
43
|
+
- [`ccdw_aggr_product_cobuy`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_aggr_product_cobuy.html)
|
|
44
|
+
- [`ccdw_aggr_product_recommendation`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_aggr_product_recommendation.html)
|
|
45
|
+
- [`ccdw_aggr_product_recommendation_recommender`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_aggr_product_recommendation_recommender.html)
|
|
46
|
+
- [`ccdw_aggr_detail_product_recommendation_recommender`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_aggr_detail_product_recommendation_recommender.html)
|
|
47
|
+
- [`ccdw_aggr_daily_detail_product_recommendation_recommender`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_aggr_daily_detail_product_recommendation_recommender.html)
|
|
48
|
+
- [`ccdw_aggr_inventory_by_location`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_aggr_inventory_by_location.html)
|
|
49
|
+
- [`ccdw_aggr_inventory_by_location_group`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_aggr_inventory_by_location_group.html)
|
|
50
|
+
- [`ccdw_aggr_promotion_activation`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_aggr_promotion_activation.html)
|
|
51
|
+
- [`ccdw_aggr_promotion_cobuy`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_aggr_promotion_cobuy.html)
|
|
52
|
+
|
|
53
|
+
## Dimension Tables (`ccdw_dim_*`)
|
|
54
|
+
|
|
55
|
+
Reference/context entities used for joins:
|
|
56
|
+
|
|
57
|
+
- [`ccdw_dim_site`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_dim_site.html)
|
|
58
|
+
- [`ccdw_dim_product`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_dim_product.html)
|
|
59
|
+
- [`ccdw_dim_customer`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_dim_customer.html)
|
|
60
|
+
- [`ccdw_dim_campaign`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_dim_campaign.html)
|
|
61
|
+
- [`ccdw_dim_coupon`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_dim_coupon.html)
|
|
62
|
+
- [`ccdw_dim_promotion`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_dim_promotion.html)
|
|
63
|
+
- [`ccdw_dim_payment_method`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_dim_payment_method.html)
|
|
64
|
+
- [`ccdw_dim_business_channel`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_dim_business_channel.html)
|
|
65
|
+
- [`ccdw_dim_locale`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_dim_locale.html)
|
|
66
|
+
- [`ccdw_dim_geography`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_dim_geography.html)
|
|
67
|
+
- [`ccdw_dim_currency`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_dim_currency.html)
|
|
68
|
+
- [`ccdw_dim_source_code_group`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_dim_source_code_group.html)
|
|
69
|
+
- [`ccdw_dim_location`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_dim_location.html)
|
|
70
|
+
- [`ccdw_dim_location_group`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_dim_location_group.html)
|
|
71
|
+
- [`ccdw_dim_date`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_dim_date.html)
|
|
72
|
+
- [`ccdw_dim_time`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_dim_time.html)
|
|
73
|
+
- [`ccdw_dim_timezone`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_dim_timezone.html)
|
|
74
|
+
- [`ccdw_dim_user_agent`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_dim_user_agent.html)
|
|
75
|
+
|
|
76
|
+
## Fact Tables (`ccdw_fact_*`)
|
|
77
|
+
|
|
78
|
+
Most granular event-level tables (typically larger):
|
|
79
|
+
|
|
80
|
+
- [`ccdw_fact_line_item`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_fact_line_item.html)
|
|
81
|
+
- [`ccdw_fact_order_payments`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_fact_order_payments.html)
|
|
82
|
+
- [`ccdw_fact_customer_registration`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_fact_customer_registration.html)
|
|
83
|
+
- [`ccdw_fact_customer_list_snapshot`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_fact_customer_list_snapshot.html)
|
|
84
|
+
- [`ccdw_fact_promotion_line_item`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_fact_promotion_line_item.html)
|
|
85
|
+
- [`ccdw_fact_promotion_activation`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_fact_promotion_activation.html)
|
|
86
|
+
- [`ccdw_fact_source_codes_activation`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_fact_source_codes_activation.html)
|
|
87
|
+
- [`ccdw_fact_inventory_record_snapshot`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_fact_inventory_record_snapshot.html)
|
|
88
|
+
- [`ccdw_fact_inventory_record_snapshot_hourly`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_fact_inventory_record_snapshot_hourly.html)
|
|
89
|
+
- [`ccdw_fact_realtime_metric`](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_fact_realtime_metric.html)
|
|
90
|
+
|
|
91
|
+
## Practical Starters
|
|
92
|
+
|
|
93
|
+
When users ask for common analysis, start with:
|
|
94
|
+
|
|
95
|
+
- **Sales trends:** `ccdw_aggr_sales_summary`
|
|
96
|
+
- **Product performance:** `ccdw_aggr_product_sales_summary`, join `ccdw_dim_product`
|
|
97
|
+
- **Promotion impact:** `ccdw_aggr_promotion_sales_summary`, join `ccdw_dim_promotion`
|
|
98
|
+
- **Search conversion:** `ccdw_aggr_search_conversion`, `ccdw_aggr_search_query`
|
|
99
|
+
- **Traffic source:** `ccdw_aggr_visit_referrer`
|
|
100
|
+
- **API performance:** `ccdw_aggr_ocapi_request`, `ccdw_aggr_scapi_request`
|
|
101
|
+
|
|
102
|
+
## Notes
|
|
103
|
+
|
|
104
|
+
- Some doc pages may contain naming variance/typos (for example `..._couse` vs `..._cobuy`). Prefer actual tenant metadata output from `cip tables`.
|
|
105
|
+
- Non-table helper objects may appear in some tenants (for example `all_calcite_types`).
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Sales comparisons and coverage
|
|
2
|
+
|
|
3
|
+
Use only when interpreting sales gaps, comparing periods, or checking latest
|
|
4
|
+
activity. Standard report execution needs no extra reference read.
|
|
5
|
+
|
|
6
|
+
## Compare periods
|
|
7
|
+
|
|
8
|
+
- Resolve natural `nsite_id` and numeric `site_id` from `ccdw_dim_site`.
|
|
9
|
+
Reuse verified IDs; do not derive one from a storefront identifier.
|
|
10
|
+
- Use equal complete windows with explicit inclusive dates. State the calendar
|
|
11
|
+
week convention and timezone. Exclude an unfinished current week.
|
|
12
|
+
- `sales-analytics` sums across daily dimensions. `sales-summary` preserves them;
|
|
13
|
+
individual rows are not daily totals. Apply report `resultNotes` when supplied.
|
|
14
|
+
- Period AOV = summed revenue / summed orders, not the average of daily AOV.
|
|
15
|
+
Zero orders yields undefined AOV. Compute change only with a nonzero, comparable
|
|
16
|
+
baseline and adequate coverage; otherwise explain why it is unavailable.
|
|
17
|
+
- `std_revenue` aggregates gross merchandise value in standard currency.
|
|
18
|
+
Tax/shipping are separate measures. Resolve the reporting currency and taxation
|
|
19
|
+
context before labeling amounts or comparing sites; do not assume net revenue.
|
|
20
|
+
|
|
21
|
+
## Coverage check
|
|
22
|
+
|
|
23
|
+
Run only if the user asks about freshness or returned dates leave a material gap.
|
|
24
|
+
Replace the example site and dates with the resolved task scope. This is a bounded
|
|
25
|
+
activity check, not an ingestion watermark or a count of zero-sales days.
|
|
26
|
+
|
|
27
|
+
```sql
|
|
28
|
+
SELECT CAST(MIN(ss.submit_date) AS VARCHAR) AS first_sales_date,
|
|
29
|
+
CAST(MAX(ss.submit_date) AS VARCHAR) AS latest_sales_date,
|
|
30
|
+
COUNT(DISTINCT ss.submit_date) AS days_with_rows
|
|
31
|
+
FROM ccdw_aggr_sales_summary ss
|
|
32
|
+
JOIN ccdw_dim_site s ON s.site_id = ss.site_id
|
|
33
|
+
WHERE s.nsite_id = 'Sites-Example-Site'
|
|
34
|
+
AND ss.submit_date >= '2026-09-01'
|
|
35
|
+
AND ss.submit_date <= '2026-09-07'
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Missing rows can mean no activity, unavailable data, or incomplete ingestion.
|
|
39
|
+
Report which is known. A dimension's `last_update` does not establish freshness
|
|
40
|
+
of sales aggregates. If no documented refresh marker is available, state unknown
|
|
41
|
+
ingestion freshness and the latest activity date actually found in the window.
|
|
42
|
+
Do not infer warehouse date semantics from a client's serialized `Z` suffix.
|
|
43
|
+
|
|
44
|
+
## Definitions
|
|
45
|
+
|
|
46
|
+
For unresolved field meaning, consult the specific official table article:
|
|
47
|
+
[sales summary](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_aggr_sales_summary.html)
|
|
48
|
+
or [site dimension](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_ccdw_dim_site.html).
|
|
49
|
+
For access/availability, use the
|
|
50
|
+
[analytics guide](https://salesforcecommercecloud.github.io/b2c-developer-tooling/guide/analytics-reports-cip-ccac.md) (`b2c docs read guide-analytics-reports-cip-ccac`).
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# CIP Starter Queries
|
|
2
|
+
|
|
3
|
+
Read only the section matching the custom analysis. Prefer a curated report
|
|
4
|
+
when it already answers the task. For sales interpretation/coverage, use
|
|
5
|
+
[Sales analysis](SALES_ANALYSIS.md).
|
|
6
|
+
|
|
7
|
+
Replace `Sites-Example-Site` with a verified natural site ID. Replace `<FROM>` /
|
|
8
|
+
`<TO>` with explicit inclusive dates before MCP execution. CLI `b2c cip query`
|
|
9
|
+
can replace them using `--from` / `--to`. Discover columns before adapting a query.
|
|
10
|
+
Date/site predicates bound the analysis; LIMIT only bounds returned rows.
|
|
11
|
+
|
|
12
|
+
## 1) Recent Daily Sales Snapshot
|
|
13
|
+
|
|
14
|
+
```sql
|
|
15
|
+
SELECT ss.submit_date, SUM(ss.num_orders) AS orders,
|
|
16
|
+
SUM(ss.std_revenue) AS revenue
|
|
17
|
+
FROM ccdw_aggr_sales_summary ss
|
|
18
|
+
JOIN ccdw_dim_site s ON s.site_id = ss.site_id
|
|
19
|
+
WHERE s.nsite_id = 'Sites-Example-Site'
|
|
20
|
+
AND ss.submit_date >= '<FROM>' AND ss.submit_date <= '<TO>'
|
|
21
|
+
GROUP BY ss.submit_date
|
|
22
|
+
ORDER BY ss.submit_date DESC
|
|
23
|
+
LIMIT 20
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## 2) Sales by Site (Joined)
|
|
27
|
+
|
|
28
|
+
```sql
|
|
29
|
+
SELECT ss.submit_date, ds.nsite_id, SUM(ss.num_orders) AS orders, SUM(ss.std_revenue) AS revenue
|
|
30
|
+
FROM ccdw_aggr_sales_summary ss
|
|
31
|
+
JOIN ccdw_dim_site ds ON ss.site_id = ds.site_id
|
|
32
|
+
WHERE ds.nsite_id = 'Sites-Example-Site'
|
|
33
|
+
AND ss.submit_date >= '<FROM>' AND ss.submit_date <= '<TO>'
|
|
34
|
+
GROUP BY ss.submit_date, ds.nsite_id
|
|
35
|
+
ORDER BY ss.submit_date DESC
|
|
36
|
+
LIMIT 30
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## 3) Top-Selling Products by Revenue
|
|
40
|
+
|
|
41
|
+
```sql
|
|
42
|
+
SELECT p.nproduct_id, p.product_display_name, SUM(pss.std_revenue) AS revenue, SUM(pss.num_units) AS units
|
|
43
|
+
FROM ccdw_aggr_product_sales_summary pss
|
|
44
|
+
JOIN ccdw_dim_product p ON p.product_id = pss.product_id
|
|
45
|
+
JOIN ccdw_dim_site s ON s.site_id = pss.site_id
|
|
46
|
+
WHERE s.nsite_id = 'Sites-Example-Site'
|
|
47
|
+
AND pss.submit_date >= '<FROM>' AND pss.submit_date <= '<TO>'
|
|
48
|
+
GROUP BY p.nproduct_id, p.product_display_name
|
|
49
|
+
ORDER BY revenue DESC
|
|
50
|
+
LIMIT 25
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## 4) Promotion Impact Summary
|
|
54
|
+
|
|
55
|
+
```sql
|
|
56
|
+
SELECT p.promotion_class, SUM(pss.std_revenue) AS revenue, SUM(pss.std_total_discount) AS discount
|
|
57
|
+
FROM ccdw_aggr_promotion_sales_summary pss
|
|
58
|
+
JOIN ccdw_dim_promotion p ON p.promotion_id = pss.promotion_id
|
|
59
|
+
JOIN ccdw_dim_site s ON s.site_id = pss.site_id
|
|
60
|
+
WHERE s.nsite_id = 'Sites-Example-Site'
|
|
61
|
+
AND pss.submit_date >= '<FROM>' AND pss.submit_date <= '<TO>'
|
|
62
|
+
GROUP BY p.promotion_class
|
|
63
|
+
ORDER BY revenue DESC
|
|
64
|
+
LIMIT 20
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## 5) OCAPI Request Volume
|
|
68
|
+
|
|
69
|
+
```sql
|
|
70
|
+
SELECT request_date, api_name, api_resource, SUM(num_requests) AS total_requests, SUM(response_time) AS total_response_time
|
|
71
|
+
FROM ccdw_aggr_ocapi_request a
|
|
72
|
+
JOIN ccdw_dim_site s ON s.site_id = a.site_id
|
|
73
|
+
WHERE s.nsite_id = 'Sites-Example-Site'
|
|
74
|
+
AND a.request_date >= '<FROM>' AND a.request_date <= '<TO>'
|
|
75
|
+
GROUP BY request_date, api_name, api_resource
|
|
76
|
+
ORDER BY request_date DESC, total_requests DESC
|
|
77
|
+
LIMIT 25
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## 6) SCAPI Request Volume
|
|
81
|
+
|
|
82
|
+
Use a site filter only after verifying attribution; omit the site join/filter for
|
|
83
|
+
an explicitly requested all-site analysis. Headless traffic may have no site.
|
|
84
|
+
|
|
85
|
+
```sql
|
|
86
|
+
SELECT request_date, api_name, api_resource, SUM(num_requests) AS total_requests, SUM(response_time) AS total_response_time
|
|
87
|
+
FROM ccdw_aggr_scapi_request a
|
|
88
|
+
JOIN ccdw_dim_site s ON s.site_id = a.site_id
|
|
89
|
+
WHERE s.nsite_id = 'Sites-Example-Site'
|
|
90
|
+
AND a.request_date >= '<FROM>' AND a.request_date <= '<TO>'
|
|
91
|
+
GROUP BY request_date, api_name, api_resource
|
|
92
|
+
ORDER BY request_date DESC, total_requests DESC
|
|
93
|
+
LIMIT 25
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## 7) Top Search Terms by Revenue
|
|
97
|
+
|
|
98
|
+
```sql
|
|
99
|
+
SELECT LOWER(sc.query) AS search_term, SUM(sc.num_searches) AS searches, SUM(sc.num_orders) AS orders, SUM(sc.std_revenue) AS revenue
|
|
100
|
+
FROM ccdw_aggr_search_conversion sc
|
|
101
|
+
JOIN ccdw_dim_site s ON s.site_id = sc.site_id
|
|
102
|
+
WHERE s.nsite_id = 'Sites-Example-Site'
|
|
103
|
+
AND sc.search_date >= '<FROM>' AND sc.search_date <= '<TO>'
|
|
104
|
+
GROUP BY LOWER(sc.query)
|
|
105
|
+
ORDER BY revenue DESC
|
|
106
|
+
LIMIT 30
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## 8) Referrer Mix
|
|
110
|
+
|
|
111
|
+
```sql
|
|
112
|
+
SELECT referrer_medium, referrer_source, SUM(num_visits) AS visits
|
|
113
|
+
FROM ccdw_aggr_visit_referrer vr
|
|
114
|
+
JOIN ccdw_dim_site s ON s.site_id = vr.site_id
|
|
115
|
+
WHERE s.nsite_id = 'Sites-Example-Site'
|
|
116
|
+
AND vr.visit_date >= '<FROM>' AND vr.visit_date <= '<TO>'
|
|
117
|
+
GROUP BY referrer_medium, referrer_source
|
|
118
|
+
ORDER BY visits DESC
|
|
119
|
+
LIMIT 30
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## 9) Customer Registration Trend
|
|
123
|
+
|
|
124
|
+
```sql
|
|
125
|
+
SELECT registration_date, SUM(num_registrations) AS registrations
|
|
126
|
+
FROM ccdw_aggr_registration r
|
|
127
|
+
JOIN ccdw_dim_site s ON s.site_id = r.site_id
|
|
128
|
+
WHERE s.nsite_id = 'Sites-Example-Site'
|
|
129
|
+
AND r.registration_date >= '<FROM>' AND r.registration_date <= '<TO>'
|
|
130
|
+
GROUP BY registration_date
|
|
131
|
+
ORDER BY registration_date DESC
|
|
132
|
+
LIMIT 30
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## 10) Payment Method Performance
|
|
136
|
+
|
|
137
|
+
```sql
|
|
138
|
+
SELECT pm.display_name AS payment_method, SUM(pss.num_payments) AS payments, SUM(pss.std_captured_amount) AS captured_amount
|
|
139
|
+
FROM ccdw_aggr_payment_sales_summary pss
|
|
140
|
+
JOIN ccdw_dim_payment_method pm ON pm.payment_method_id = pss.payment_method_id
|
|
141
|
+
JOIN ccdw_dim_site s ON s.site_id = pss.site_id
|
|
142
|
+
WHERE s.nsite_id = 'Sites-Example-Site'
|
|
143
|
+
AND pss.submit_date >= '<FROM>' AND pss.submit_date <= '<TO>'
|
|
144
|
+
GROUP BY pm.display_name
|
|
145
|
+
ORDER BY captured_amount DESC
|
|
146
|
+
LIMIT 20
|
|
147
|
+
```
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: b2c-code
|
|
3
|
+
description: Deploy, download, and manage cartridge code versions on B2C Commerce instances. Use this skill whenever the user needs to upload or download cartridges to/from a sandbox, activate or delete code versions, watch for local file changes during development, or deploy a subset of cartridges. Also use when pushing code to an instance, pulling code from an instance, or setting up a dev workflow with live reload -- even if they just say 'push my code to the sandbox', 'download the code', or 'how do I activate the new version'.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# B2C Code Skill
|
|
7
|
+
|
|
8
|
+
Use the `b2c` CLI to deploy, download, and manage code versions on Salesforce B2C Commerce instances.
|
|
9
|
+
|
|
10
|
+
> **Tip:** If `b2c` is not installed globally, use `npx @salesforce/b2c-cli` instead (e.g., `npx @salesforce/b2c-cli code deploy`).
|
|
11
|
+
|
|
12
|
+
## MCP equivalent
|
|
13
|
+
|
|
14
|
+
Prefer `cartridge_deploy` for cartridge upload. Set `codeVersion` explicitly when
|
|
15
|
+
needed; `files` selects up to 100 local files (64 MiB total), relative to
|
|
16
|
+
`projectDirectory`, within discovered cartridges. Omit `files` for whole cartridges.
|
|
17
|
+
Matching remote files are overwritten; selected-file mode preserves other files.
|
|
18
|
+
`reload` may activate the target; keep upload success/warnings if reload fails.
|
|
19
|
+
Code mode `builtin/code-version-inspect` reads active/rollback and activation metadata;
|
|
20
|
+
`builtin/site-cartridge-inspect` reads site cartridge order and checks expected names.
|
|
21
|
+
SCAPI `dx/scripts/v1` provides version management; `site/sites/v1` manages site paths.
|
|
22
|
+
Use the CLI for watches, recursive downloads, and extra deployment flags.
|
|
23
|
+
|
|
24
|
+
## Configuration & Authentication
|
|
25
|
+
|
|
26
|
+
The CLI auto-discovers the target instance and credentials from `SFCC_*` environment variables (including project `.env`), the selected project-local or shared `dw.json`, and configuration plugins. `package.json` supplies only non-sensitive defaults. **Flags like `--server`, `--client-id`, `--client-secret`, `--username`, and `--password` are usually unnecessary** — only pass them to override what's auto-detected.
|
|
27
|
+
|
|
28
|
+
Run `b2c setup inspect` to see the resolved configuration and which source provided each value (use `--json` for scripting; secrets stay masked by default). For precedence rules and troubleshooting, see the `b2c-cli:b2c-config` skill.
|
|
29
|
+
|
|
30
|
+
## Examples
|
|
31
|
+
|
|
32
|
+
### Deploy Cartridges
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
# deploy all cartridges from current directory
|
|
36
|
+
b2c code deploy
|
|
37
|
+
|
|
38
|
+
# deploy cartridges from a specific directory
|
|
39
|
+
b2c code deploy ./my-cartridges
|
|
40
|
+
|
|
41
|
+
# deploy to a specific server and code version
|
|
42
|
+
b2c code deploy --server my-sandbox.demandware.net --code-version v1
|
|
43
|
+
|
|
44
|
+
# deploy and reload (re-activate) the code version
|
|
45
|
+
b2c code deploy --reload
|
|
46
|
+
|
|
47
|
+
# delete existing cartridges before upload and reload
|
|
48
|
+
b2c code deploy --delete --reload
|
|
49
|
+
|
|
50
|
+
# deploy only specific cartridges
|
|
51
|
+
b2c code deploy -c app_storefront_base -c plugin_applepay
|
|
52
|
+
|
|
53
|
+
# exclude specific cartridges from deployment
|
|
54
|
+
b2c code deploy -x test_cartridge
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Download Cartridges
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
# download all cartridges from the active code version
|
|
61
|
+
b2c code download
|
|
62
|
+
|
|
63
|
+
# download to a specific directory
|
|
64
|
+
b2c code download -o ./downloaded
|
|
65
|
+
|
|
66
|
+
# download from a specific server and code version
|
|
67
|
+
b2c code download --server my-sandbox.demandware.net --code-version v1
|
|
68
|
+
|
|
69
|
+
# download only specific cartridges
|
|
70
|
+
b2c code download -c app_storefront_base -c plugin_applepay
|
|
71
|
+
|
|
72
|
+
# exclude specific cartridges from download
|
|
73
|
+
b2c code download -x test_cartridge
|
|
74
|
+
|
|
75
|
+
# mirror: extract to local cartridge project locations
|
|
76
|
+
b2c code download --mirror
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Watch for Changes
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
# watch cartridges and upload changes automatically
|
|
83
|
+
b2c code watch
|
|
84
|
+
|
|
85
|
+
# watch a specific directory
|
|
86
|
+
b2c code watch ./my-cartridges
|
|
87
|
+
|
|
88
|
+
# watch with specific server and code version
|
|
89
|
+
b2c code watch --server my-sandbox.demandware.net --code-version v1
|
|
90
|
+
|
|
91
|
+
# watch only specific cartridges
|
|
92
|
+
b2c code watch -c app_storefront_base
|
|
93
|
+
|
|
94
|
+
# watch excluding specific cartridges
|
|
95
|
+
b2c code watch -x test_cartridge
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### List Code Versions
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
# list code versions on the instance
|
|
102
|
+
b2c code list
|
|
103
|
+
|
|
104
|
+
# list with JSON output
|
|
105
|
+
b2c code list --json
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Activate Code Version
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
# activate a code version
|
|
112
|
+
b2c code activate <version-name>
|
|
113
|
+
|
|
114
|
+
# reload (re-activate) the current code version
|
|
115
|
+
b2c code activate --reload
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**Note:** Activation is idempotent. If the version is already active, the command succeeds without making a change. If you've uploaded code or changed Custom APIs in the active version, use `--reload` with deploy or activate to force a refresh and register the endpoints. Check registration status with the `b2c-cli:b2c-scapi-custom` skill.
|
|
119
|
+
|
|
120
|
+
### Delete Code Version
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
# delete a code version
|
|
124
|
+
b2c code delete <version-name>
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### API Backend
|
|
128
|
+
|
|
129
|
+
`code list`, `code activate`, `code delete`, and the active-version discovery / activate / reload steps in `code deploy` run over SCAPI. Configure `shortCode`, `tenantId`, and the `sfcc.scripts` / `sfcc.scripts.rw` scopes and they work out of the box. Read scope (`sfcc.scripts`) covers `code list` / discovery; write scope (`sfcc.scripts.rw`) covers activate, delete, reload, and the `--activate` / `--reload` flags on deploy.
|
|
130
|
+
|
|
131
|
+
`code deploy` (file upload itself), `code download`, and `code watch` always use WebDAV — only the surrounding code-version operations use SCAPI.
|
|
132
|
+
|
|
133
|
+
OCAPI is deprecated and disabled on newer instances. `--api-backend auto` (the default) falls back to the OCAPI Data API on safe SCAPI capability/auth/request rejections; force a backend with `--api-backend scapi|ocapi` if needed. The `--reload` flag forces a code cache reload as activate(alternate) + activate(target), using whichever backend the command selected — so it works on OCAPI-disabled instances when SCAPI is configured.
|
|
134
|
+
|
|
135
|
+
### More Commands
|
|
136
|
+
|
|
137
|
+
See `b2c code --help` for a full list of available commands and options in the `code` topic.
|
|
138
|
+
|
|
139
|
+
> **Note:** `b2c code deploy` uploads cartridge _code_ to an instance. To manage which cartridges are _active on a site_ (the cartridge path), see the `b2c-cli:b2c-sites` skill for the `b2c sites cartridges` commands.
|
|
140
|
+
|
|
141
|
+
## Related Skills
|
|
142
|
+
|
|
143
|
+
- `b2c-cli:b2c-sites` - Manage site cartridge paths (list, add, remove, set active cartridges)
|
|
144
|
+
- `b2c-cli:b2c-scapi-custom` - Check Custom API registration status after deployment
|
|
145
|
+
- `b2c-cli:b2c-webdav` - Low-level file operations (delete cartridges, list files)
|
|
146
|
+
- `b2c:b2c-custom-api-development` - Creating Custom API endpoints
|