Marketing Operations API

Version: 9.2

The Marketing Operations API encompasses a set of definition managers and taxonomy managers.

Repositories

All definition managers and taxonomy managers are backed by a repository. Repositories are wired up in configuration, and are defined per definition or taxonomy type. In the following example, goals are configured to use an item-based repository:

RequestResponse
<register
    serviceType="Sitecore.Marketing.Definitions.Goals.Data.IGoalDefinitionRepository, Sitecore.Marketing"
    implementationType="Sitecore.Marketing.Definitions.Goals.Data.ItemDb.GoalDefinitionItemRepository, Sitecore.Marketing.xMgmt"
    lifetime="Singleton" />
Important

Repositories are configured once per server. This means that a server that combines Processing and Content Management uses an item-based repository only - even though definitions are still deployed to the Reference Data Service.

Item-based repositories

Item-based repositories use Sitecore’s content management databases. If an item-based repository is in use for goals, calling Get() will return the goal definition from the master database. Content Management servers used item-based repositories.

Important

In an XP/XM Single environment (such as a local development environment), item-based repositories are used by default. This means that even the processing pipeline uses the item-based version of a definition or taxonomy, not the version stored in the Reference Data Service - even though part of the activation process is to deploy the definition to the Reference Data Service.

Reference Data Service repositories

Reference Data Service repositories use the Reference Data Service. If such a repository is in use for goals, calling Get() will return the goal definition from the Reference Data Service - not the master database.

Warning

Do not change definitions and taxonomies directly in the Reference Data Service on a server that uses repositories backed by the Reference Data Service. This is difficult to do, given that processing only exposes read-only definition and taxonomy managers, but it is technically possible.

Do you have some feedback for us?

If you have suggestions for improving this article,