@salesforce/b2c-tooling-sdk / instance / B2CInstance
Class: B2CInstance
Defined in: packages/b2c-tooling-sdk/src/instance/index.ts:109
Represents a connection to a B2C Commerce instance.
Provides lazy-loaded, typed API clients for WebDAV and OCAPI operations. Authentication is handled automatically based on the configured credentials.
Example
// From environment configuration
const instance = B2CInstance.fromEnvironment({
clientSecret: process.env.SFCC_CLIENT_SECRET,
});
// WebDAV uses Basic auth if available, falls back to OAuth
await instance.webdav.mkcol('Cartridges/v1');
// OCAPI always uses OAuth
const { data } = await instance.ocapi.GET('/sites', {});Constructors
Constructor
new B2CInstance(
config,auth):B2CInstance
Defined in: packages/b2c-tooling-sdk/src/instance/index.ts:189
Creates a new B2CInstance.
Parameters
config
Instance configuration (hostname, code version)
auth
Authentication configuration
Returns
B2CInstance
Properties
auth
readonlyauth:AuthConfig
Defined in: packages/b2c-tooling-sdk/src/instance/index.ts:191
Authentication configuration
config
readonlyconfig:InstanceConfig
Defined in: packages/b2c-tooling-sdk/src/instance/index.ts:190
Instance configuration (hostname, code version)
Accessors
ocapi
Get Signature
get ocapi():
OcapiClient
Defined in: packages/b2c-tooling-sdk/src/instance/index.ts:233
OCAPI Data API client.
Returns the openapi-fetch client directly with full type safety. Always uses OAuth authentication.
Example
const { data, error } = await instance.ocapi.GET('/sites', {});
const { data, error } = await instance.ocapi.PATCH('/code_versions/{code_version_id}', {
params: { path: { code_version_id: 'v1' } },
body: { active: true }
});Returns
webdav
Get Signature
get webdav():
WebDavClient
Defined in: packages/b2c-tooling-sdk/src/instance/index.ts:213
WebDAV client for file operations.
Uses Basic auth if username/password are configured, otherwise falls back to OAuth.
Example
await instance.webdav.mkcol('Cartridges/v1');
await instance.webdav.put('Cartridges/v1/app.zip', content);
const entries = await instance.webdav.propfind('Cartridges');Returns
webdavHostname
Get Signature
get webdavHostname():
string
Defined in: packages/b2c-tooling-sdk/src/instance/index.ts:198
The hostname to use for WebDAV operations. Falls back to main hostname if not specified.
Returns
string
Methods
fromEnvironment()
staticfromEnvironment(options):B2CInstance
Defined in: packages/b2c-tooling-sdk/src/instance/index.ts:135
Creates a B2CInstance from environment configuration files with optional overrides.
Searches upward from the current directory for configuration files (dw.json, etc.), then applies any provided overrides.
Parameters
options
Loading options and overrides
Returns
B2CInstance
Configured B2CInstance
Throws
Error if no configuration found or required configuration missing
Example
// Auto-find configuration, override secrets
const instance = B2CInstance.fromEnvironment({
clientId: process.env.SFCC_CLIENT_ID,
clientSecret: process.env.SFCC_CLIENT_SECRET,
});
// Use named instance
const instance = B2CInstance.fromEnvironment({
instance: 'staging',
});