/** * B2C Commerce configuration operations for Managed Runtime. * * Handles the connection between MRT targets/environments and B2C Commerce instances. * * @module operations/mrt/b2c-config */ import type { AuthStrategy } from '../../auth/types.js'; import { type B2COrgInfo, type B2CTargetInfo, type PatchedB2CTargetInfo } from '../../clients/mrt-b2c.js'; export type { B2COrgInfo, B2CTargetInfo, PatchedB2CTargetInfo }; /** * Options for getting B2C organization info. */ export interface GetB2COrgInfoOptions { /** * The organization slug. */ organizationSlug: string; /** * MRT B2C API origin URL. * @default "https://cloud.mobify.com/api/cc/b2c" */ origin?: string; } /** * Options for getting B2C target info. */ export interface GetB2CTargetInfoOptions { /** * The project slug. */ projectSlug: string; /** * The target/environment slug. */ targetSlug: string; /** * MRT B2C API origin URL. * @default "https://cloud.mobify.com/api/cc/b2c" */ origin?: string; } /** * Options for setting B2C target info. */ export interface SetB2CTargetInfoOptions { /** * The project slug. */ projectSlug: string; /** * The target/environment slug. */ targetSlug: string; /** * ID of the B2C Commerce instance to connect. */ instanceId: string; /** * List of site IDs associated with the B2C Commerce instance. * Pass null to clear the sites list. */ sites?: string[] | null; /** * MRT B2C API origin URL. * @default "https://cloud.mobify.com/api/cc/b2c" */ origin?: string; } /** * Options for updating B2C target info. */ export interface UpdateB2CTargetInfoOptions { /** * The project slug. */ projectSlug: string; /** * The target/environment slug. */ targetSlug: string; /** * ID of the B2C Commerce instance to connect. */ instanceId?: string; /** * List of site IDs associated with the B2C Commerce instance. * Pass null to clear the sites list. */ sites?: string[] | null; /** * MRT B2C API origin URL. * @default "https://cloud.mobify.com/api/cc/b2c" */ origin?: string; } /** * Gets B2C Commerce info for an organization. * * Returns the list of B2C Commerce instances connected to the organization. * * @param options - Operation options * @param auth - Authentication strategy (ApiKeyStrategy) * @returns B2C organization info * @throws Error if request fails * * @example * ```typescript * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth'; * import { getB2COrgInfo } from '@salesforce/b2c-tooling-sdk/operations/mrt'; * * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization'); * * const info = await getB2COrgInfo({ * organizationSlug: 'my-org' * }, auth); * * console.log(`B2C Customer: ${info.is_b2c_customer}`); * console.log(`Instances: ${info.instances.join(', ')}`); * ``` */ export declare function getB2COrgInfo(options: GetB2COrgInfoOptions, auth: AuthStrategy): Promise; /** * Gets B2C Commerce info for a target/environment. * * Returns the B2C Commerce instance and sites connected to the target. * * @param options - Operation options * @param auth - Authentication strategy (ApiKeyStrategy) * @returns B2C target info * @throws Error if request fails * * @example * ```typescript * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth'; * import { getB2CTargetInfo } from '@salesforce/b2c-tooling-sdk/operations/mrt'; * * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization'); * * const info = await getB2CTargetInfo({ * projectSlug: 'my-storefront', * targetSlug: 'production' * }, auth); * * console.log(`Instance: ${info.instance_id}`); * console.log(`Sites: ${info.sites?.join(', ')}`); * ``` */ export declare function getB2CTargetInfo(options: GetB2CTargetInfoOptions, auth: AuthStrategy): Promise; /** * Sets (creates/replaces) B2C Commerce info for a target/environment. * * @param options - Operation options * @param auth - Authentication strategy (ApiKeyStrategy) * @returns Updated B2C target info * @throws Error if request fails * * @example * ```typescript * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth'; * import { setB2CTargetInfo } from '@salesforce/b2c-tooling-sdk/operations/mrt'; * * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization'); * * const info = await setB2CTargetInfo({ * projectSlug: 'my-storefront', * targetSlug: 'production', * instanceId: 'aaaa_prd', * sites: ['RefArch', 'SiteGenesis'] * }, auth); * * console.log(`Connected to instance: ${info.instance_id}`); * ``` */ export declare function setB2CTargetInfo(options: SetB2CTargetInfoOptions, auth: AuthStrategy): Promise; /** * Updates B2C Commerce info for a target/environment. * * @param options - Operation options * @param auth - Authentication strategy (ApiKeyStrategy) * @returns Updated B2C target info * @throws Error if request fails * * @example * ```typescript * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth'; * import { updateB2CTargetInfo } from '@salesforce/b2c-tooling-sdk/operations/mrt'; * * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization'); * * // Update only the sites list * const info = await updateB2CTargetInfo({ * projectSlug: 'my-storefront', * targetSlug: 'production', * sites: ['RefArch', 'SiteGenesis', 'NewSite'] * }, auth); * * console.log(`Updated sites: ${info.sites?.join(', ')}`); * ``` */ export declare function updateB2CTargetInfo(options: UpdateB2CTargetInfoOptions, auth: AuthStrategy): Promise;