Search: “faq”

We found 10 results for your search.

Sitecore CDP and Personalize FAQs

February 2023 Update – Sitecore has released new api endpoint per region which routes through a CDN closer to end users call along with new Javascript library. See the new documentation here – Sitecore CDP developer documentation

How to get the Client Key and API Token?

Get the client key from the Sandbox/CDP & Personalise portal.

Login to portal – https://app.boxever.com/#/

Top right click the settings icon. Select API Access option

Get teh client key from this page-

How to create and get the point of sale?

Login to portal – https://app.boxever.com/#/

Top right click the settings icon. Select API Access option

Search or Create a point of sale-

Enter Name and other required details. Timeout is the session timeout.

How to debug?

Navigate to the Features options

Enable the Debug option

Orange settings icon will appear where the debug is possible-

How to get the base URL for Sitecore CDP Rest API?

Old Endpoints

RegionAPI endpoint
Europeapi.boxever.com
Asia Pacificapi-ap-southeast-2-production.boxever.com
United Statesapi-us.boxever.com

New Endpoints from February 2023 *

ENVIRONMENTBASE URL
AP Regionhttps://api-engage-ap.sitecorecloud.io​
EU Regionhttps://api-engage-eu.sitecorecloud.io
US Regionhttps://api-engage-us.sitecorecloud.io

* Endpoints can change see Sitecore documentation for the up-to-date URL’s

See the updated URL’s here-

https://doc.sitecore.com/personalize/en/developers/api/index-en.html#UUID-b6753c92-1347-86de-069c-f3a5c99ad6c3_UUID-5f0de4b0-05f7-7700-3378-23283d1839ab

What is the Web Flow target URL?

Web Flow target URL is used for Web Experiements and Experiences.

From the documentation following is the URL, but this can change. See the link for up-to-date URL-

ScenarioWeb flow target
Your organization uses Sitecore Personalize.https://d35vb5cccm4xzp.cloudfront.net
Your organization does not use Sitecore Personalize.An empty string ""

https://doc.sitecore.com/personalize/en/developers/api/index-en.html#UUID-a2c699f5-0ea0-028e-b0e3-599e0308e969

What is the latest version of Javascript Library?

Boxever JavaScript Library (legacy)

https://doc.sitecore.com/personalize/en/developers/api/index-en.html#UUID-c2389675-0a7b-3cd9-3e9a-0111d360af39

See the release notes for the latest version. Point of writing this blog the version is 1.4.9. This can change. See the link to get the latest version.

https://doc.sitecore.com/personalize/en/developers/api/index-en.html#UUID-91e5c577-92c2-71c4-efca-4b5b61edc817

How to get Fullstack Experience friendly id?

Navigate to Experience => Full Stack option. Search and open the exprience

Goto details tab to get the friendly id-

What if the size of the compressed batch file exceeds the max limit i.e. 50MB?

Recompress the files into two or more compressed batch files that do not exceed the 50MB size limit. Then upload the compressed files as separate batches.

Reference –

Size limit for uploading batch files

Why I recieve HTTP 400 response when uploading the batch file?

If the size of the import does not match the one specified in the size field in the request, the service returns a HTTP 400 response.

Reference –

Frequent errors you might encounter during the batch file upload process

Why I recieve HTTP 409 response when uploading the batch file?

If the base64 checksum attribute in header does not match the hex-encoded MD5 Checksum generated by uploading the compressed file you will receive 409 response.

Reference –

Frequent errors you might encounter during the batch file upload process

How to delete a guest profile without using Batch API?

Make a DELETE request to the following endpoint- https://api.boxever.com/v2/guests/{GUESTREF}

It may take upto 24 hours for the Guest to be removed

What access do you need to setup the Point of sale for Sitecore CDP and Personalize?

Enterprise User Manager or Enterprise Admin role 

How to generate the browser id using postman?

To generate browserid send a request to this endpoint –

https://{{apiEndpoint}}/{{apiVersion}}/browser/create.json?client_key={{CLIENT_KEY}}&message={}

See above the apiendpoint and apiversion to use.

Send request with the clientkey in query parameters.

The “ref” in response is the browser id

Loading

Docker FAQs

Docker Engine and Architecture FAQ’s

Components of the Docker Engine – Docker Daemon, Rest API and Docker Cli

Component that manages Images, Containers, Volumes and Network – Docker Daemon

Component that manages containers in Docker Engine – LibContainer

Container can run with Docker – Yes

Component keeps alive container even if Docker Daemon is not working – Containerd-Shim

Docker engine objects- Images, Container, Volume and Network

In Container data is writable but not persistable – Yes

Dcoker looks for images in docker hub by default- Yes

Readonly component in Docker engine – Docker Images

Default directory where Docker data is stored (Ubuntu) – /var/lib/docker

Directory where the Docker config is stored(Ubuntu)- /etc/docker

OCI stands for – Open Container Initiative

OCI specification – runtime-spec and image-spec

View version of Docker engine – docker version

Stop the Docker service – systemctl stop docker or/and systemctl stop docker.socket

Start the Docker service – systemctl start docker.socket or/and systemctl start docker

Check Status of Docker service – systemctl status docker

Debug docker whilst starting the service – dockerd –debug

Where is the Daemon file located (Ubuntu) – /etc/docker/daemon.json

Where is the daemon socket located (Ubuntu) – /var/run/docker.sock

Port to connect the docker externaly with encrypted trafic – 2376

Port to connect the docker externaly with unencrypted trafic – 2375

Start the docker daemon manually – dockerd

Default docker daemon interface – Unix Socket

Default network driver – bridge

Stop Command signals running container on STOP command – SIGTERM followed by SIGKILL

Restart policies – no, on-failure, always and unless-stopped

Reduce container downtime due to daemon failure or restart- Enable Live Restore

Docker Images FAQ’s

Default Docker Image Registry – Docker Hub

Various Image Registry –

  • Docker Trusted Registry
  • Google Container Registry
  • Amazon Container Registry
  • Azure Container Registry

Types of Images in Docker Hub

  • Official Images
  • Verified Images
  • User Images

Base vs Parent Image –

Base Image are creatged from scratch, which means its empty. You cannot create a scratch image as it is always to be used. Any other images created from Base Image but used as parent to custom images are Parent Image. e.g. Ubuntu which is made from debian image. Here debian image is a Parent Image

Docker Swarm

What is the maximum and recommended number of mananger a swarm cluste can have? There is no max limit but recommended is 7 managers in swarm cluster

Sitecore Journey 2023

This year it was a quite roler coaster working with Sitecore products not just limited to Sietcore XP but also Order Cloud, Sitecore Send and Sitecore CDP with various other technology associated.

Here are the contributions in the form of blogs, videos and helping community on Slack and learning a lot from community.

Blogs-

Jan 2023-

Install Sitecore Commerce 10.3 using SIF

Step by step guide to install Sitecore XP 10.3 using SIF

Feb 2023

Sitecore CDP and Personalize FAQs

Setup Sitecore Headless SXA with Next js

March 2023-

Setup Sitecore OrderCloud headstart the docker way

OrderCloud Headstart Docker Setup – Install and Setup Account in Microsoft Azure Storage Explorer

OrderCloud Headstart Docker Setup Error – uncompatible node version

April 2023-

Sitecore CDP- Sending View Event using direct HTTP requests

Setup Sitecore OrderCloud headstart with Angular in Ubuntu system the docker way

May 2023

Sitecore CDP – Send Identity Event using direct HTTP request

Setting up a Sitecore JSS development environment with the Containers template for Next.js

June 2023-

Sicore CDP – Send Add Event using direct HTTP request

July 2023

Send Abandoned Cart email using Sitecore Send Automation

Enable website tracking service using Sitecore Send

August 2023-

Sitecore CDP – Upload guest data

September 2023-

Sitecore Send Series

Gracefully handle user subscription using Sitecore Send

Sitecore CDP – Abandon cart with force close event

October 2023-

Sitecore CDP – Send Checkout Event

Sitecore CDP – Send Confirm Event

Sitecore CDP Intergration Series

November 2023-

Sitecore Send Custom Automation – Email when user subscribes to specific mailing list

Siecore Send – Setup re-direction to a custom webpage after unsubscription

Videos-

Slack Contributions

Loading

Sitecore CDP Intergration Series

Sitecore CDP and Personalize FAQs

How to get the Client Key and API Token?

How to create and get the point of sale?

How to debug?

How to get the base URL for Sitecore CDP Rest API?

What is the latest version of Javascript Library?

How to get Fullstack Experience friendly id?

What if the size of the compressed batch file exceeds the max limit i.e. 50MB?

Why I recieve HTTP 400 response when uploading the batch file?

Why I recieve HTTP 409 response when uploading the batch file?

How to delete a guest profile without using Batch API?

What access do you need to setup the Point of sale for Sitecore CDP and Personalize?

How to generate the browser id using postman?

Integrate using direct HTTP requests

Sending VIEW Event using direct HTTP requests

Send IDENTITY Event using direct HTTP request

Send ADD Event using direct HTTP request

Send CONFIRM Event using direct HTTP request

Send CHECKOUT Event using direct HTTP request

Upload guest data

Abandon cart with force close event

Loading

Sitecore CDP – Abandon cart with force close event

You can force close event to test Abandon Cart. This works only in non-prod environments.

Assumption- An identified guest which is active and has added products in cart.

If you are corectly tracking you should see in the timeline Session and event a Product been added.

So whilst developing if you want to force close this session, since you might not want to wait for 20 minutes for session to expire or whatever time is set to expire the session, you can force close the session to see or perform the next steps if the cart is been abandoned.

The force close event can be triggered by providing message type as FORCE_CLOSE in the payload.

Send the payload to this endpoint. For more details on what should be the apiEndpoint and client key see this blog

https://{{apiEndpoint}}/{{apiVersion}}/event/create.json?client_key={{CLIENT_KEY}}&message={{message}}

var browser_id = pm.environment.get("browserId") -- browser id
var pointOfSale = pm.environment.get("PointOfSale") -- point of sale

var message = {    
    "channel": "WEB",
    "type": "FORCE_CLOSE",
    "language": "EN",
    "currency": "GBP",
    "page": "home page",
    "pos": pointOfSale,
    "browser_id": browser_id
}

postman.setEnvironmentVariable("message", JSON.stringify(message));

Since the session is now closed we can see the Abandoned Revenue. Further reminder mails can be sent to user to complete the purchase on the abandoned cart.

Hope this helps.

Loading

Sicore CDP – Send Add Event using direct HTTP request

The ADD event captures the product details when a user adds the product(s) to their online cart.

https://{{apiEndpoint}}/{{apiVersion}}/event/create.json?client_key={{CLIENT_KEY}}&message={{message}}

To know more what should be the API endpoint and api version see this blog

Pre-requisite- The guest has to be created which can be identitfied as browserid

Generate browser id – see how to generate browserid using postman here

URL – contains event to create Add event. – highlighted below.

Add the Product details the user must have added in cart and send the below request to Sitecore CDP.

At this point the Guest must have been identified as the Customer. Search Customer by browserid or Name.

Should the current activity of the customer.

Click on Timeline and View Session details

The session should show the product been added to the cart. Based on this if the product remains in cart for certain time and the user doen’t checkout you may provision to trigger abandon cart event.

cURL code snippet-

curl --location -g --request GET 'https://api.boxever.com/v1.2/event/create.json?client_key=<<Client Key>>&message={"channel":"WEB","type":"CONFIRM","language":"EN","currency":"GBP","page":"home page","pos":"pastoral-witty-grill","browser_id":"7ed103bd-08c2-47f4-8f69-91141ca3200d","product":[{"item_id":"EXACT_90"}]}'

C# code snippet-

var client = new RestClient("https://api.boxever.com/v1.2/event/create.json?client_key=<<Client Key>>&message={\"channel\":\"WEB\",\"type\":\"CONFIRM\",\"language\":\"EN\",\"currency\":\"GBP\",\"page\":\"home page\",\"pos\":\"pastoral-witty-grill\",\"browser_id\":\"7ed103bd-08c2-47f4-8f69-91141ca3200d\",\"product\":[{\"item_id\":\"EXACT_90\"}]}");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);

Python code snippet-

import http.client

conn = http.client.HTTPSConnection("api.boxever.com")
payload = ''
headers = {}
conn.request("GET", "/v1.2/event/create.json?client_key=<<Client Key>>&message=%7B%22channel%22:%22WEB%22,%22type%22:%22CONFIRM%22,%22language%22:%22EN%22,%22currency%22:%22GBP%22,%22page%22:%22home%20page%22,%22pos%22:%22pastoral-witty-grill%22,%22browser_id%22:%227ed103bd-08c2-47f4-8f69-91141ca3200d%22,%22product%22:%5B%7B%22item_id%22:%22EXACT_90%22%7D%5D%7D", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

Reference-

https://doc.sitecore.com/cdp/en/developers/api/index-en.html#UUID-51cdc30a-8344-72dc-457c-98aa2866da39

Loading

Sitecore CDP – Send Identity Event using direct HTTP request

An IDENTITY event contains data that enables Sitecore CDP to perform identity resolution. When Sitecore CDP receives an IDENTITY event, it runs a linking algorithm to try to match guest data from separate guest profiles, based on your organization’s identity rules. 

A guest is identified with the browser id. To search the guest Navigate to the Guest list page and search for the guest with the browwser id.

To identify the guest as a Customer provide the payload with the type as IDENTITY and the Customer details, such as their email, firstname, lastname etc.

Sending a request through postman- use below URL-

https://{{apiEndpoint}}/{{apiVersion}}/event/create.json?client_key={{CLIENT_KEY}}&message={{message}}

To know more what should be the API endpoint and api version see this blog

Pre-requisite- The guest has to be created which can be identitfied as browserid

Generate browser id – see how to generate browserid using postman here

URL – contains event to create view event.

To know more about the point of sale and how to create see blog

var browser_id = pm.environment.get("browserId")
var pointOfSale = pm.environment.get("PointOfSale")

var message = {    
    "channel": "WEB",
    "type": "IDENTITY",
    "language": "EN",
    "currency": "GBP",
    "page": "Login",
    "pos": pointOfSale,
    "browser_id": browser_id,
    "title": "Sir",
    "email": "pgrill@malify.com",
    "firstname": "Patoral",
    "lastname": "Grill"
}

postman.setEnvironmentVariable("message", JSON.stringify(message));

Now search the Guest by browserid and the Gust Type should be Customer as the Guest has been identified.

CURL code snippet-

curl --location -g --request GET 'https://api.boxever.com/v1.2/event/create.json?client_key=<<client key>>&message={"channel":"WEB","type":"IDENTITY","language":"EN","currency":"GBP","page":"home page","pos":"pastoral-witty-grill","browser_id":"7ed103bd-08c2-47f4-8f69-91141ca3200d","title":"Sir","email":"pgrill@malify.com","firstname":"Pastoral","lastname":"Grill"}'

C# code snippet-

var client = new RestClient("https://api.boxever.com/v1.2/event/create.json?client_key=<<code key>>&message={\"channel\":\"WEB\",\"type\":\"IDENTITY\",\"language\":\"EN\",\"currency\":\"GBP\",\"page\":\"home page\",\"pos\":\"pastoral-witty-grill\",\"browser_id\":\"7ed103bd-08c2-47f4-8f69-91141ca3200d\",\"title\":\"Sir\",\"email\":\"pgrill@malify.com\",\"firstname\":\"Pastoral\",\"lastname\":\"Grill\"}");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);

Python code cnippet-

import http.client

conn = http.client.HTTPSConnection("api.boxever.com")
payload = ''
headers = {}
conn.request("GET", "/v1.2/event/create.json?client_key=<<client key>>&message=%7B%22channel%22:%22WEB%22,%22type%22:%22IDENTITY%22,%22language%22:%22EN%22,%22currency%22:%22GBP%22,%22page%22:%22home%20page%22,%22pos%22:%22pastoral-witty-grill%22,%22browser_id%22:%227ed103bd-08c2-47f4-8f69-91141ca3200d%22,%22title%22:%22Sir%22,%22email%22:%22pgrill@malify.com%22,%22firstname%22:%22Pastoral%22,%22lastname%22:%22Grill%22%7D", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

References-

https://doc.sitecore.com/cdp/en/developers/api/index-en.html#UUID-279a4b64-8bb2-2e5d-3ec7-6b469e284dc7

Loading

Sitecore CDP- Sending View Event using direct HTTP requests

The VIEW event captures the guest’s action of viewing a page. To track guest behavior use VIEW event on all pages.

Sending a request through postman- use below URL-

https://{{apiEndpoint}}/{{apiVersion}}/event/create.json?client_key={{CLIENT_KEY}}&message={{message}}

To know more what should be the API endpoint and api version see this blog

Generate browser id – see how to generate browserid using postman here

URL – contains event to create view event.

Message-

var browser_id = pm.environment.get("browserId")
var pointOfSale = pm.environment.get("PointOfSale")

var message = {    
    "channel": "WEB",
    "type": "VIEW",
    "language": "EN",
    "currency": "GBP",
    "page": "home page",
    "pos": pointOfSale,
    "browser_id": browser_id
}

postman.setEnvironmentVariable("message", JSON.stringify(message));

Check the view event in Sitecore CDP portal-

Search the Broswer Id in guests page-

Select the Anonymous Visitor.

Select the Timeline tab

Select the orange color settings icon to check the view event details which is only displayed in debug mode-

See the detials the message that was sent as part of request-

CURL command for same –

curl --location -g --request GET 'https://api-engage-eu.sitecorecloud.io/v1.2/event/create.json?client_key=<<enter client key>>&message={"channel":"WEB","type":"VIEW","language":"EN","currency":"GBP","page":"home page","pos":"pastoral-witty-grill","browser_id":"<<enter browser id>>"}'

C# code-

var client = new RestClient("https://api-engage-eu.sitecorecloud.io/v1.2/event/create.json?client_key=<<enter client key>>&message={\"channel\":\"WEB\",\"type\":\"VIEW\",\"language\":\"EN\",\"currency\":\"GBP\",\"page\":\"home page\",\"pos\":\"pastoral-witty-grill\",\"browser_id\":\"<<enter browser id>>\"}");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);

Python- http client code snippet-

import http.client

conn = http.client.HTTPSConnection("api-engage-eu.sitecorecloud.io")
payload = ''
headers = {}
conn.request("GET", "/v1.2/event/create.json?client_key=<<enter client key>>&message=%7B%22channel%22:%22WEB%22,%22type%22:%22VIEW%22,%22language%22:%22EN%22,%22currency%22:%22GBP%22,%22page%22:%22home%20page%22,%22pos%22:%22pastoral-witty-grill%22,%22browser_id%22:%22<<enter browser id>>%22%7D", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

Reference-

https://doc.sitecore.com/cdp/en/developers/api/index-en.html#UUID-281a2b8f-627d-a71b-4a1f-df545bc617e9

Loading

Linux and Docker on Ubuntu Series

Linux basic commands (Ubuntu)

Linux Kernel and hardware

Linux Runlevels

Linux Package Management for Ubuntu

Linux User Management commands

Linux Networking commands

Install Docker on Linux

Linux File Types

Create a file in Linux

How to check the file size in Linux

Compressing and Uncompressing Files in Linux

Searching files and directories in Linux

Search content with pattern in the file in Linux

Search content with pattern in the file in Linux

File Permissions in Linux

Check running services in Linux

DOCKER

Docker FAQ’s

Install Docker on Ubuntu

Install Docker using install script on Ubuntu

Setup a Docker Swarm

Cache Busting and Version Pinning when building Docker images

Docker storage on Ubuntu

How to start docker in debug mode in Ubuntu

Docker Restart Policies

Use Docker image offline with Save and Load command in Ubuntu

Export Container and Import as Image using Docker in Ubuntu

Create a custom network in docker for communication between containers

Dcoker Security

Docker Best practice

Videos, Talks and Events

2024-

SUGCON Europe 2024

Talked on securing webhooks in Sitecore using Auth0 by OKTA

2023-

Videos-

Sitecore Headless SXA-

Sitecore CDP FAQ’s

Events-

SUGCON Europe 2023-

Sitecore DX 2023 London-

Kube Con 2023

2022-

Spoke at SUG UK on June 2022

Topic – Getting started with Order Cloud

https://scug.co.uk/events/2022/06/london-assurex-sitecore-usergroup/

2021-

2020 –

November 2020Sitecore User Group NCR – India

Talked on Customise Business Tools in Sitecore Commerce


September 2020

Talked on Customise Business Tools in Sitecore Commerce


Hosted and Organised Commerce Bytes

July to November 2020

Loading