1. Functions

CloudSDK

Version:
TypeFunction
Import path@sitecore-cloudsdk/core/server

Initializes the Cloud SDK and any SDK packages of your choice.

Important

Initialize SDK packages before running any functions in the package modules.

Signature

export async function CloudSDK(
  request: Request,
  response: Response,
  settings: ServerSettings
): CloudSDKServerInitializer

Parameters

NameTypeDescription
settingsServerSettingsRequired.

Details about your SitecoreAI instance and cookie settings.

ServerSettings properties

NameTypeDescriptionValue
sitecoreEdgeContextIdstringRequired.Context ID."3axQRoRznWUqHR8B2RSbdo"
siteNamestringRequired.Site name."myRetailSite"
cookieDomainstringOptional.The top-level domain of your app. The cookie domain ensures that the Cloud SDK stores cookies in the web browser as first-party cookies.Default: your domain.".myretailsite.com"".beta.myretailsite.com""localhost"
cookieExpiryDaysintegerOptional.The number of days before cookies expire.For example, set to 1 for cookies to expire in 1 day.If unset, cookies expire according to the Max-Age set by the web browser.365
cookiePathstringOptional.A URL path that must exist in the requested URL in order to send cookies.Default: "/"."/"
enableServerCookiebooleanOptional.Whether to set cookies from the server side.If using only the server modules of packages, set to true.If using both the browser and the server modules of packages, set either enableBrowserCookie or enableServerCookie to true, and set the other to false.Default: false.true

Return value

Returns an instance of CloudSDKServerInitializer.

Examples

Example 30. Running the CloudSDK function

Here's an example middleware.ts script showing how to initialize the SDK and its packages.

Important

Before initializing SDK packages, first install them and import their modules.

See install and initialize the Cloud SDK and the reference documentation for installation and initialization code for all Cloud SDK packages and modules.

import type { NextRequest } from "next/server";
import { NextResponse } from "next/server";

// Import SDK modules ->
import { CloudSDK } from "@sitecore-cloudsdk/core/server";
import "@sitecore-cloudsdk/events/server";
import "@sitecore-cloudsdk/personalize/server";
import "@sitecore-cloudsdk/search/server";
// <- Import SDK modules

export default async function middleware(request: NextRequest) {
  const response = NextResponse.next();
  await CloudSDK(request, response, {
    sitecoreEdgeContextId: "<YOUR_SITECORE_EDGE_CONTEXT_ID>",
    siteName: "<YOUR_SITE_NAME>",
    enableServerCookie: true
  })
   .addEvents() // Initialize the events package
   .addPersonalize({ enablePersonalizeCookie: true, webPersonalization: { language: 'en' } }) // Initialize the personalize package
   .addSearch() // Initialize the search package
   .initialize(); // Run the initialization logic and set cookies

   return response;
};

This script initializes the following Cloud SDK packages:

:::

If you have suggestions for improving this article, let us know!