Interface CommerceEngineConfiguration

The commerce engine configuration.

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

Hierarchy (view full)

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,
    | "source"
    | "trackingId"
    | "enabled"
    | "proxyBaseUrl">

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.

By default, no proxy is used and the Coveo commerce requests are sent directly to the Coveo platform through the platform organization endpoint resolved from the organizationId and environment values provided in your engine configuration (i.e., https://<organizationId>.org.coveo.com or https://<organizationId>.org<environment>.coveo.com, if the environment values is specified and different from prod).

If you set this option, you must also implement the following proxy endpoints on your server, otherwise the commerce engine will not work properly:

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).