The commerce engine configuration.

interface CommerceEngineConfiguration {
    accessToken: string;
    analytics: Pick<
        AnalyticsConfiguration,
        "enabled"
        | "proxyBaseUrl"
        | "source"
        | "trackingId",
    >;
    cart?: CartInitialState;
    context: ContextOptions;
    environment?: "dev" | "stg" | "hipaa" | "prod";
    name?: string;
    organizationId: string;
    preprocessRequest?: PreprocessRequest;
    proxyBaseUrl?: string;
    renewAccessToken?: () => Promise<string>;
}

Hierarchy (View Summary)

Properties

accessToken: string

The access token to use to authenticate requests against the Coveo Cloud endpoints. Typically, this will be an API key or search token that grants the privileges to execute queries and push usage analytics data in the target Coveo Cloud organization.

analytics: Pick<
    AnalyticsConfiguration,
    "enabled"
    | "proxyBaseUrl"
    | "source"
    | "trackingId",
>

The commerce analytics configuration.

The initial cart state to restore.

The commerce context options.

environment?: "dev" | "stg" | "hipaa" | "prod"

The environment in which the organization is hosted.

The dev and stg environments are only available internally for Coveo employees (e.g., Professional Services).

Defaults to prod.

name?: string

The Engine name (e.g., myEngine). Specifying your Engine name will help in debugging when using an application with multiple Redux stores.

'coveo-headless'
organizationId: string

The unique identifier of the target Coveo Cloud organization (e.g., mycoveocloudorganizationg8tp8wu3)

preprocessRequest?: PreprocessRequest

Allows for augmenting a Platform request before it is sent.

Request to be augmented

The origin of the client, can be "analyticsFetch", "analyticsBeacon" or "searchApiFetch"

Augmented request

proxyBaseUrl?: string

The base URL to use to proxy Coveo commerce requests (e.g., https://example.com/commerce).

This is an advanced option that you should only set if you need to proxy Coveo commerce requests through your own server. In most cases, you should not set this option.

See Headless proxy: Commerce.

renewAccessToken?: () => Promise<string>

A function that fetches a new access token. The function must return a Promise that resolves to a string (the new access token).