0

Can anyone confirm around the feasibility to create new schema's or extend/modify existing schemas such as Guest, Order etc. within Sitecore CDP interface.

Is there is a way for developers to create New Schemas with nested JSON structure similar to that of Order, Session, Guest, Product etc. within Sitecore CDP/Boxever. As per documentation the only way to include and associate additional information with Guest profile is in the form of attributes - Key/Value pair supported through Data Extensions. We have a use case, where we want to add some customer Loyalty and service request related data which may have a nested structure based on brands and region.

Can someone please guide through a way where we can create new schema or extend existing Guest schema to allow nested pair of objects. Note - I have access to the Boxever Sandbox

1 Answer 1

1

1. As you noticed, Guest extentions support only primitive values.

I found only one workaround how to bypass JSON objects to Guest extention: stringify an object (by using JSON.stringify(data)): enter image description here

enter image description here

And it can be parsed when you need to access to object values:

(function () {

for (var i = 0; i < guest.dataExtensions.length; i++) {
 if (guest.dataExtensions[i].name === 'Ext' && guest.dataExtensions[i].key === 'custom') {
      var ext = guest.dataExtensions[i].values;
      
      var test = JSON.parse(ext.test);
      print(test[0].a);
      print(test[0].b);
      
      return test;
    }
}

 })();

enter image description here

I agree that this way is not very convenient, but I did not find an alternative.

P.S. You can pass any types of data strusture in Events (if you find a solution for your case how to do it at the event level):

    const boxeverEvent = { 
      browser_id: Boxever.getID(), 
      channel: 'WEB', 
      type: 'YOUR_EVENT_NAME', 
      language: 'EN', 
      pos: window.location.host, 
      currency: currency || 'EUR', 
      page: '/', 
      ext: YOUR_JSON_OBJECT, 
    }; 

enter image description here

2. Second way is to do request to your service to get this informations (as alternative to storage in CDP). You can see example in my blog: https://www.brimit.com/blog/cdp-4-how-to-use-ai-connections.

If this option is better for your case, let me know, I`ll extend my answer with example.

1
  • Thanks for putting up such a detailed response. I believe this is the only way of being able to store nested/complex schema using Data extensions , until Sitecore extends CDP to provide a dedicated interface to define schemas, datasets for profile and events etc. Dec 20, 2021 at 6:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.