Skip to main content

Posts

Sitecore 9 Playground Series - Marketing Automation, Custom Predicates, Activities, Page Events and More

This is going to be a series of blog posts that I am going to follow a scenario and build a demo project step by step. Here is the plan: Imagine that you have a website displaying movies. Visitors are able to see movie details and take some actions like save movie or share it.  You want to follow the visitors' activities and you want to take some marketing actions based on those activities. For example, if a contact visits a movie more than X time or she/he saves a movie, you want to send those movies to an external system. In addition, there is going to be a limit to send same movie. Such as, it will not be possible to send same movie more than 2 times.  You want to configure this as a marketing automation plan to give flexibility to your marketing managers. They should be able to add configurable rules and activities.  To be able to carry out this plan, I am going to implement and show those topics: Custom page events & XConnect queries Calculated fa
Recent posts

Sitecore Commerce – XC9 Tips – Configuring Postman

In this post, I am going to show how to setup postman and run the scripts. When you download Sitecore Commerce, it includes ready to use postman sample requests (inside Sitecore.Commerce.Engine.SDK.x.x.x folder). You need to import that postman folder to postman app. The steps are written in official documentation , just click import and choose postman folder. You will see some parameters in sample requests such as  {{SitecoreIdServerHost}}, {{OpsApiHost}}, {{OpsApi}} Those are environment based variables that you can change according to your environment details. When you click "setting" icon, you will see predefined environments: AdventureWorks and Habitat. For example, click "Habitat Environment" to edit its variables. You see that AuthoingHost is using port 5000, it is the default port if the that port is available. You can check which port is using your Authoring role from IIS. If your Authoring port is different than 5000, you ne

Sitecore Commerce – XC9 Tips – Catalog api (/api/cxa/Catalog/..) gives 404 not found error

I was recently trying to integrate commerce to an existing sxa website. One of the issues I got that commerce component related APIs were giving 404 not found. For example, I added "Promoted Products" component to homepage. It seemed fine on experience editor but when I published and tried to see on website, I saw an error message on browser's console. I checked the catalog configuration first, everything seemed fine. Then, I compared with storefront website. I noticed that RequestVerificationToken was missing on my website. I searched a bit and found Sitecore official documentation related with it. According to documentation, I saw that Antiforgery rendering was missing and it was coming from Commerce Metadata partial design. I added Commerce Metadata partial design to my website's page design and the issue got fixed. After you add metadata and publish, you shoud see RequestVerificationToken on page.

Sitecore Commerce – XC9 Tips – Missing Commerce Components in SXA Toolbox on Experience Editor

I've recently had an issue that commerce components were missing in SXA Toolbox. I setup Sitecore Commerce on top of an existing instance and I already had a SXA website working on it. The idea was to add commerce components and functionality to my existing website. But after commerce setup, the toolbox was still showing default SXA components and commerce components were missing although I add commerce tenant and website modules: I checked Available Renderings under Presentation folder, there was no problem, commerce renderings were there. I created another tenant and website to see if it shows the commerce components in toolbox. Nothing seemed different but I was seeing commerce components for new website and it was missing on existing one. Then, I noticed two things: 1- Selected catalog was empty in content editor (/sitecore/Commerce/Catalog Management/Catalogs) even if I see Habitat_Master catalog in Merchandising section on commerce management panel. 2- Bootstrap

Post setup tips of Sitecore Commerce on Azure

Sitecore official documentation provides how to setup your instance on Azure. After you follow the instructions, you would need a few key steps to complete your setup. Use postman to bootstrap and initialize the Commerce Engine:   Call bootstrap method ( {{OpsApiHost}} / {{OpsApi}} /Bootstrap() ) for your environments. You would need to get token first ( {{SitecoreIdServerHost}} /connect/token ) Creating a new webshop: When you create a new webshop from Sitecore content editor, a new domain is created automatically on your content management server. But you will need to add manually to your CD and Identity servers. Update Domain.config file under app_config > security folder as below.   If you don’t add, you will get domain is missing error while customers sign in. You also need to register your domain to BizFX server.  Then, you will be able to see new domain while adding new customers in Sitecore Commerce panel. Configure product images: You cre

Sitecore 9 - Creating Custom Marketing Automation Activity Part-2

I am going to build user interface part of custom activity. As we saw in previous post, we have a parameter called "ProcessLimit" in activity implementation. So, we should provide a UI to marketing managers that can set it from marketing automation panel. I don't want to repeat the official documentation, I will only show some key parts. I started with creating package.json file. When you follow official documentation, you see that you need those packages as required. @angular/core: 5.2.11 @angular/http: 5.2.11 @ngx-translate/core: 9.0.2 rxjs: 5.5.11 You will get warning in terminal if there is any package missing, I added step by step and my final package.json file was like this: { "name" : "package" , "version" : "1.0.0" , "description" : "Playground Demo" , "private" : true , "angular-cli" : {}, "scripts" : { "dev" : "ngc -p .

Sitecore 9 - Creating Custom Marketing Automation Activity Part-1

We saw how to debug our marketing automation rule in previous post. Now, let's come back to our scenario first. Imagine that you have a website displaying movies. Visitors are able to see movie details and take some actions like save movie or share it.  You want to follow the visitors' activities and you want to take some marketing actions based on those activities. For example, if a contact visits a movie more than X time or she/he saves a movie, you want to send those movies to an external system. In addition, there is going to be a limit to send same movie. Such as, it will not be possible to send same movie more than 2 times.  You want to configure this as a marketing automation plan to give flexibility to your marketing managers. They should be able to add configurable rules and activities.  We have our rule, so we are able to filter contacts who visit a movie more than X time. The missing part is sending those movies to an external service. In addition, we

Sitecore 9 - Marketing Automation: Debugging Custom Marketing Automation Rules

We have seen implementation of a custom segmentation rule and marketing automation rule in previous post. The main focus was on segmentation rule but I also showed marketing automation rule implementation. Basically, we need to implement ICondition interface and write our logic in Evaluate method. Since, I've already completed configuration and written my rule, we can create a marketing automation plan. I added my rule and activated my marketing automation plan. Now, I want to test my custom rule. The easiest way to use "Repost view" button inside marketing automation page. Once the rule applies for a contact, then you should see that contact in the list. Let's say it didn't work. You visited a movie 3 or more times and ended your session. Normally, at that moment, the contact should be added to list in your automation plan. But you didn't see anything. We need to debug and see our fault in code. To do this, first I am going to stop marketing au