Developer Preview — This project is in active development. APIs may change. Provide feedback
Skip to content

@salesforce/b2c-tooling-sdk / instance / B2CInstance

Class: B2CInstance

Defined in: packages/b2c-tooling-sdk/src/instance/index.ts:85

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

ts
// From configuration (recommended)
import { resolveConfig } from '@salesforce/b2c-tooling-sdk/config';

const config = resolveConfig({
  clientId: process.env.SFCC_CLIENT_ID,
  clientSecret: process.env.SFCC_CLIENT_SECRET,
});
const instance = config.createB2CInstance();

// 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:95

Creates a new B2CInstance.

Parameters

config

InstanceConfig

Instance configuration (hostname, code version)

auth

AuthConfig

Authentication configuration

Returns

B2CInstance

Properties

auth

readonly auth: AuthConfig

Defined in: packages/b2c-tooling-sdk/src/instance/index.ts:97

Authentication configuration


config

readonly config: InstanceConfig

Defined in: packages/b2c-tooling-sdk/src/instance/index.ts:96

Instance configuration (hostname, code version)

Accessors

ocapi

Get Signature

get ocapi(): OcapiClient

Defined in: packages/b2c-tooling-sdk/src/instance/index.ts:139

OCAPI Data API client.

Returns the openapi-fetch client directly with full type safety. Always uses OAuth authentication.

Example
ts
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

OcapiClient


webdav

Get Signature

get webdav(): WebDavClient

Defined in: packages/b2c-tooling-sdk/src/instance/index.ts:119

WebDAV client for file operations.

Uses Basic auth if username/password are configured, otherwise falls back to OAuth.

Example
ts
await instance.webdav.mkcol('Cartridges/v1');
await instance.webdav.put('Cartridges/v1/app.zip', content);
const entries = await instance.webdav.propfind('Cartridges');
Returns

WebDavClient


webdavHostname

Get Signature

get webdavHostname(): string

Defined in: packages/b2c-tooling-sdk/src/instance/index.ts:104

The hostname to use for WebDAV operations. Falls back to main hostname if not specified.

Returns

string

All rights reserved.