In case you are interested in adopting SAP Commerce Cloud Integration with Emarsys, please feel free to join our Early Adopter Care Program. Register here to participate.
We strongly suggest activating Web Extend before performing product sync with SAP CCv2.
Introduction
You can integrate your SAP Commerce Cloud in the Public Cloud (SAP CCv2) store with Emarsys by using our integration solution. After a brief guided onboarding, the integration (plugin) connects your store and automatically syncs customers, events and products to Emarsys.
Once integrated, you can begin using Emarsys to create sophisticated automated Tactics along with smart contact segments, personalized messages and various event-based programs for your SAP CCv2 shop.
Our integration offers real-time customer synchronization for your contacts and real-time event interaction between SAP CCv2 and Emarsys.
Prerequisites & Requirements
SAP CCv2 support
Only SAP CCv2 2105 is fully supported (Release Notes).
Version | Notes |
---|---|
CCv2 2105, Commerce Cloud in the Public Cloud (released Jul 2021) |
Fully supported. |
CCv2 2011, Commerce Cloud in the Public Cloud (released in Nov 2020) |
Not supported. The previous versions are not supported because of technical limitations in real-time actions. See the article Exporting SAP CC contact data, which can be useful for these versions. |
CCv2 2005, Commerce Cloud in the Public Cloud (released in MAY 2020 or older) | |
CCv1 2005, SAP Commerce Cloud on SAP Infrastructure (released in MAY 2020 or older) | |
Hybris (on premise, any version) |
SAP Early Adopter program & Emarsys Piloting with production data
All of the following is necessary to be in the program:
- latest version of SAP CCv2 (2105) in mandatory sandbox
- an instance of SAP CCv2 (2105) in production (the shop where you want to use Emarsys)
- Emarsys account to use in production
- a sandboxed Emarsys account (an empty sandbox can be arranged upon request for participating partners)
- resources for testing, identification of the specific test cases
- providing feedback to Emarsys
Features
The key gain of the integration is building interaction-focused shopping journeys for your SAP CCv2 customers using Emarsys Tactics. Using our integration solution to enable standard e-commerce use-cases (aka tactics) is much faster and requires a lot less effort than solving the same via individual integration.
We list the individual features contained in this integration here in different tables depending on their current status.
If you are looking for a technical insight into the internal processes involved, have a look at the Process flowcharts.
Available
Feature | Description |
---|---|
Connection (~Hand-Shake) |
|
Customer (~Contact) Sync |
|
Consent Sync |
|
Real-Time Event Sync |
Example: If an order status changes to ‘completed’, it will trigger both the order completed and all order update events.
|
8 SAP CX Tactics along with many standard e-commerce Tactics |
|
Product Sync |
|
Planned
Temporary individual integration is needed but Emarsys plans to offer a solution in the future.
Feature | Description |
---|---|
Sales Data Sync (Order, Refund, Cancellation) Scoped & planed ETA: 2022 |
|
Out of scope
These features need to be integrated individually, Emarsys has no specific plans currently to offer a ready-made solution.
Web Behaviour Data Sync (Web Extend) Not (yet) scoped and planned ETA: unknown |
Web Extend is a mandatory part of integration providing crucial insights about web behaviour of the consumer. The data from Web Extend are translated into various insights which are used by strategies and Tactics. Individual (custom) integration of Emarsys‘ Web Extend (JS-based data collector) is needed. |
Appendix
This section contains miscellaneous reference data about the CCv2 integration solution.
1. Synchronization of supported fields
Clients can request extra contact data to sync that is currently not syncable. If prioritized, this data may be added to the syncables during piloting. Here you can see the list of supported fields:
[
{ "emarsysFieldName": "SAP CustomerID", "sapAttributeName": "customerID", "indexed": true, "external": true },
{ "emarsysFieldName": "SAP IntegrationKey", "sapAttributeName": "integrationKey" },
{ "emarsysFieldName": "SAP UID", "sapAttributeName": "uid" },
{ "emarsysFieldName": "Email", "sapAttributeName": "contactEmail" },
{ "emarsysFieldName": "SAP Name", "sapAttributeName": "name" },
{ "emarsysFieldName": "First Name", "sapAttributeName": "name" },
{ "emarsysFieldName": "Last Name", "sapAttributeName": "name" },
{ "emarsysFieldName": "IETF language tag", "sapAttributeName": "sessionLanguage.isocode" },
{ "emarsysFieldName": "SAP Country", "sapAttributeName": "defaultShipmentAddress.country.name" },
{ "emarsysFieldName": "Country", "sapAttributeName": "defaultShipmentAddress.country.name" },
{ "emarsysFieldName": "State", "sapAttributeName": "defaultShipmentAddress.region.name" },
{ "emarsysFieldName": "ZIP Code", "sapAttributeName": "defaultShipmentAddress.postalcode" },
{ "emarsysFieldName": "City", "sapAttributeName": "defaultShipmentAddress.town" },
{ "emarsysFieldName": "Mobile", "sapAttributeName": "defaultShipmentAddress.cellphone" },
{ "emarsysFieldName": "Address", "sapAttributeName": "defaultShipmentAddress.line1" },
{ "emarsysFieldName": "Address", "sapAttributeName": "defaultShipmentAddress.line2" },
{ "emarsysFieldName": "Date of Birth", "sapAttributeName": "defaultShipmentAddress.dateOfBirth" },
]
2. Events
Below are the SAP CCv2 real-time events that you can use with Emarsys integration. You can view a sample event for each one by clicking on the heading.
The last three events require certain types of syncing between Emarsys and CCv2, but you may just use the first three events which do not.
If you decide to use the cart, review or order-update events without contact sync, make sure that:
- Contacts are created in Emarsys first (only existing contacts can be treated).
- Contacts are created with the SAP CCv2 User ID, which is used as the default identifier for the integration.
Sync requirements are within the foldable sections. These events can be utilized independently, you do not need to set up all of them.
The proper order flow management is especially crucial for transactional Tactics and use cases in general (such as order confirmation, shipment update).
{
"customerId": 216447951,
"sapCustomerId": "f2a2bda6-6fbe-45db-9460-41541594be20",
"eventTime": "2021-04-19T09:10:21.241Z",
"eventType": "cart",
"eventId": "e7a96826-431b-40e1-9562-ca13f90865a2",
"eventData": {
"site": {
"name": "Spartacus Electronics Site",
"uid": "electronics-spa",
"integrationKey": "electronics-spa",
"localizedAttributes": [
{ "name": "Spartacus Electronics Site", "language": "en" }
]
},
"entries": [
{
"product": {
"summary": "Digital SLR Camera DSLR-A100H",
"catalogVersion": {
"version": "Online",
"catalog": {
"id": "electronicsProductCatalog",
"integrationKey": "electronicsProductCatalog"
},
"integrationKey": "Online|electronicsProductCatalog"
},
"thumbnail": {
"downloadURL": "/medias/?context=bWFzdGVyfGltYWdlc3wyNDUyfGltYWdlL2pwZWd8aDQ2L2g0OC84Nzk2MjQ1MTk2ODMwfDQ5MzJlNjkwMTRkODAwZDk2MmUyZWI0NmVmMjhhYjMyMGM0ZjdkNWFiNDY2YjIxZDZjY2JhYmViY2Y3MzU4ZTI&attachment=true",
"catalogVersion": {
"version": "Online",
"catalog": {
"id": "electronicsProductCatalog",
"integrationKey": "electronicsProductCatalog"
},
"integrationKey": "Online|electronicsProductCatalog"
},
"code": "/96Wx96H/816780-2831.jpg",
"URL2": "/medias/?context=bWFzdGVyfGltYWdlc3wyNDUyfGltYWdlL2pwZWd8aDQ2L2g0OC84Nzk2MjQ1MTk2ODMwfDQ5MzJlNjkwMTRkODAwZDk2MmUyZWI0NmVmMjhhYjMyMGM0ZjdkNWFiNDY2YjIxZDZjY2JhYmViY2Y3MzU4ZTI",
"URL": "/medias/?context=bWFzdGVyfGltYWdlc3wyNDUyfGltYWdlL2pwZWd8aDQ2L2g0OC84Nzk2MjQ1MTk2ODMwfDQ5MzJlNjkwMTRkODAwZDk2MmUyZWI0NmVmMjhhYjMyMGM0ZjdkNWFiNDY2YjIxZDZjY2JhYmViY2Y3MzU4ZTI",
"integrationKey": "Online|electronicsProductCatalog|%2F96Wx96H%2F816780-2831.jpg"
},
"unit": {
"name": "Piece",
"code": "pieces",
"integrationKey": "pieces",
"localizedAttributes": [
{ "name": "Piece", "language": "en" },
{ "name": "Stück", "language": "de" }
]
},
"supercategories": [
{
"name": "Digital SLR",
"catalogVersion": {
"version": "Online",
"catalog": {
"id": "electronicsProductCatalog",
"integrationKey": "electronicsProductCatalog"
},
"integrationKey": "Online|electronicsProductCatalog"
},
"code": "578",
"integrationKey": "Online|electronicsProductCatalog|578",
"localizedAttributes": [
{ "name": "Digital SLR", "language": "en" },
{ "name": "Digitale Spiegelreflexkameras", "language": "de" },
{ "name": "数码单反", "language": "zh" },
{ "name": "デジタル一眼レフ", "language": "ja" }
]
},
{
"name": "Sony",
"catalogVersion": {
"version": "Online",
"catalog": {
"id": "electronicsProductCatalog",
"integrationKey": "electronicsProductCatalog"
},
"integrationKey": "Online|electronicsProductCatalog"
},
"code": "brand_5",
"integrationKey": "Online|electronicsProductCatalog|brand_5",
"localizedAttributes": [
{ "name": "Sony", "language": "en" },
{ "name": "Sony", "language": "de" },
{ "name": "索尼", "language": "zh" },
{ "name": "Sony", "language": "ja" }
]
}
],
"code": "816780",
"manufacturerName": "Sony",
"name": "DSLR-A100H",
"picture": {
"downloadURL": "/medias/?context=bWFzdGVyfGltYWdlc3wxMDk3M3xpbWFnZS9qcGVnfGgzNC9oOWEvODc5NjIxODc4NTgyMnw5NzE5NDM3MTUyMGU5YTZlMDY3N2RlZDY3N2M5Y2U3M2E4ZDEzMDg2NTdlOWY3MjE3NTliMzE0M2EyZDkzMTZm&attachment=true",
"catalogVersion": {
"version": "Online",
"catalog": {
"id": "electronicsProductCatalog",
"integrationKey": "electronicsProductCatalog"
},
"integrationKey": "Online|electronicsProductCatalog"
},
"code": "/300Wx300H/816780-2831.jpg",
"URL2": "/medias/?context=bWFzdGVyfGltYWdlc3wxMDk3M3xpbWFnZS9qcGVnfGgzNC9oOWEvODc5NjIxODc4NTgyMnw5NzE5NDM3MTUyMGU5YTZlMDY3N2RlZDY3N2M5Y2U3M2E4ZDEzMDg2NTdlOWY3MjE3NTliMzE0M2EyZDkzMTZm",
"URL": "/medias/?context=bWFzdGVyfGltYWdlc3wxMDk3M3xpbWFnZS9qcGVnfGgzNC9oOWEvODc5NjIxODc4NTgyMnw5NzE5NDM3MTUyMGU5YTZlMDY3N2RlZDY3N2M5Y2U3M2E4ZDEzMDg2NTdlOWY3MjE3NTliMzE0M2EyZDkzMTZm",
"integrationKey": "Online|electronicsProductCatalog|%2F300Wx300H%2F816780-2831.jpg"
},
"integrationKey": "Online|electronicsProductCatalog|816780",
"localizedAttributes": [
{
"summary": "Digital SLR Camera DSLR-A100H",
"name": "DSLR-A100H",
"language": "en"
},
{
"summary": "Digitale Spiegelreflexkamera DSLR-A100H",
"name": "Digital SLR Camera DSLR-A100H",
"language": "de"
},
{
"summary": "DSLR-A100H 数码单反相机",
"name": "DSLR-A100H",
"language": "zh"
},
{
"summary": "デジタル SLR カメラ DSLR-A100H",
"name": "DSLR-A100H",
"language": "ja"
}
]
},
"order": { "code": "00000001" },
"integrationKey": "00000001"
}
],
"code": "00000001",
"creationtime": "/Date(1618823418900)/",
"store": {
"name": "Electronics Store",
"uid": "electronics",
"integrationKey": "electronics",
"localizedAttributes": [
{ "name": "Electronics Store", "language": "en" },
{ "name": "Elektronikshop", "language": "de" },
{ "name": "电子产品店铺", "language": "zh" },
{ "name": "エレクトロニクスストア", "language": "ja" }
]
},
"user": {
"customerID": "f2a2bda6-6fbe-45db-9460-41541594be20",
"uid": "balazs.szerencsi@emarsys.com",
"sessionLanguage": { "isocode": "en", "integrationKey": "en" },
"creationtime": "/Date(1618823386307)/",
"integrationKey": "balazs.szerencsi%40emarsys.com"
},
"integrationKey": "00000001"
}
}
{
"customerId": 218183424,
"sapCustomerId": "keenreviewer25@hybris.com",
"eventTime": "2021-03-26T07:07:00.248Z",
"eventType": "review",
"eventId": "316320ff-d5b5-4396-b7be-c44638f057f1",
"emsEventSource": "sap-commerce-cloud",
"eventData": {
"product": {
"catalogVersion": {
"version": "Online",
"catalog": {
"id": "electronicsProductCatalog",
"integrationKey": "electronicsProductCatalog"
},
"integrationKey": "Online|electronicsProductCatalog"
},
"thumbnail": {
"catalogVersion": {
"version": "Online",
"catalog": {
"id": "electronicsProductCatalog",
"integrationKey": "electronicsProductCatalog"
},
"integrationKey": "Online|electronicsProductCatalog"
},
"code": "/96Wx96H/2278102-15072.jpg",
"URL2": "/medias/?context=bWFzdGVyfGltYWdlc3wzMDk5fGltYWdlL2pwZWd8aDkyL2hiMS84Nzk2MjMxNTk4MTEwfGJkYjFiNjgxNzBmODA3YmMyMzg0NmVkMDRlYWU3ZjZmMzM2NTgyMTc2OTQwZmY0ZGYyZGMyMjkzMTI3ODc1NzQ",
"URL": "/medias/?context=bWFzdGVyfGltYWdlc3wzMDk5fGltYWdlL2pwZWd8aDkyL2hiMS84Nzk2MjMxNTk4MTEwfGJkYjFiNjgxNzBmODA3YmMyMzg0NmVkMDRlYWU3ZjZmMzM2NTgyMTc2OTQwZmY0ZGYyZGMyMjkzMTI3ODc1NzQ",
"integrationKey": "Online|electronicsProductCatalog|%2F96Wx96H%2F2278102-15072.jpg"
},
"code": "2278102",
"manufacturerName": "TDK",
"name": "miniDV Head Cleaner",
"picture": {
"catalogVersion": {
"version": "Online",
"catalog": {
"id": "electronicsProductCatalog",
"integrationKey": "electronicsProductCatalog"
},
"integrationKey": "Online|electronicsProductCatalog"
},
"code": "/300Wx300H/2278102-15072.jpg",
"URL2": "/medias/?context=bWFzdGVyfGltYWdlc3wxMjM4MHxpbWFnZS9qcGVnfGhjMS9oMjkvODc5NjIwNDk1NzcyNnw3NzZjMWE1ZGVhMmY2OTQ3NTBkOWFjYzMyNmZjMTk4N2U1ZWMyY2RmZGJjNzc0ZTcxZTE1YjUzYzIwN2NjNWI0",
"URL": "/medias/?context=bWFzdGVyfGltYWdlc3wxMjM4MHxpbWFnZS9qcGVnfGhjMS9oMjkvODc5NjIwNDk1NzcyNnw3NzZjMWE1ZGVhMmY2OTQ3NTBkOWFjYzMyNmZjMTk4N2U1ZWMyY2RmZGJjNzc0ZTcxZTE1YjUzYzIwN2NjNWI0",
"integrationKey": "Online|electronicsProductCatalog|%2F300Wx300H%2F2278102-15072.jpg"
},
"integrationKey": "Online|electronicsProductCatalog|2278102",
"localizedAttributes": [
{ "name": "miniDV Head Cleaner", "language": "en" },
{ "name": "miniDV Kopfreinigung", "language": "de" },
{ "name": "miniDV ヘッド クリーナー", "language": "ja" },
{ "name": "miniDV 磁头清洁带", "language": "zh" }
]
},
"modifiedtime": "/Date(1616742419598)/",
"rating": 4,
"comment": "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas ut est. Donec suscipit. Donec eget diam vitae purus condentum adipiscing. Suspendisse lorem diam, cursus non,aliquam et, blandit ac, orci. Phasellus malesuada orci sit amet lorem. Sed egestas tortor eget ipsum. Cras mattis,lorem sit amet congue condimentum, nibh tellus sodales augue, ac euismod lectus arcu eu purus. Mauris tellus ligula,molestie vel, cursus at, eleifend ut, diam. Integer felis. Morbi sapien massa, iaculis id, convallis in, laoreet id, leo.Nullam id metus. Suspendisse turpis tellus, fermentum mollis, scelerisque fermentum, hendrerit sed, mi. Pellentesque bibendum.Mauris sit amet dolor. Praesent ullamcorper accumsan purus. Aliquam erat volutpat. Vivamus a sapien sed dui faucibus porttito.",
"language": {
"name": "English",
"isocode": "en",
"integrationKey": "en",
"localizedAttributes": [
{ "name": "English", "language": "en" },
{ "name": "Englisch", "language": "de" },
{ "name": "英語", "language": "ja" },
{ "name": "英语", "language": "zh" }
]
},
"creationtime": "/Date(1616697610271)/",
"user": {
"customerID": "keenreviewer25@hybris.com",
"uid": "keenreviewer25@hybris.com",
"integrationKey": "keenreviewer25%40hybris.com"
},
"integrationKey": "Online|electronicsProductCatalog|1616697610271|1616742419598|4.0|keenreviewer25%40hybris.com|en|2278102"
}
}
- Please make sure that the event reaches the given status (e.g. created) once only if you want to use it for transactional use cases (such as order confirmation).
- If you want to use real-time-events only for marketing use cases (e.g. post-purchase up- and cross-sell, abandon cart, etc), you can set the threshold on Interactions program-level.
All order events have the same sample event structure:
{
"customerId": 218183424,
"sapCustomerId": "balazs-0323-1",
"eventTime": "2021-03-23T14:11:28.616Z",
"eventType": "order-update",
"eventId": "7c537077-1b6a-444e-b135-8ef01a485791",
"emsEventSource": "sap-commerce-cloud",
"eventData": {
"statusInfo": "cool status info",
"code": "balazs-123",
"totalPrice": 333,
"language": {
"name": "English",
"isocode": "en",
"integrationKey": "en",
"localizedAttributes": [
{ "name": "English", "language": "en" },
{ "name": "Englisch", "language": "de" },
{ "name": "英語", "language": "ja" },
{ "name": "英语", "language": "zh" }
]
},
"integrationKey": "balazs-123",
"totalTax": 444,
"modifiedtime": "/Date(1616508688423)/",
"paymentCost": 111,
"deliveryAddress": {
"country": {
"name": "Japan",
"isocode": "JP",
"integrationKey": "JP",
"localizedAttributes": [
{ "name": "Japan", "language": "en" },
{ "name": "Japan", "language": "de" },
{ "name": "日本", "language": "ja" },
{ "name": "日本", "language": "zh" }
]
},
"town": "Tokyo",
"postalcode": "112233",
"cellphone": "00123456789",
"region": {
"name": "Yamaguchi",
"country": {
"name": "Japan",
"isocode": "JP",
"integrationKey": "JP",
"localizedAttributes": [
{ "name": "Japan", "language": "en" },
{ "name": "Japan", "language": "de" },
{ "name": "日本", "language": "ja" },
{ "name": "日本", "language": "zh" }
]
},
"isocode": "JP-35",
"integrationKey": "JP|JP-35",
"localizedAttributes": [
{ "name": "Yamaguchi", "language": "en" },
{ "name": "Yamaguchi", "language": "de" },
{ "name": "Yamaguchi", "language": "ja" },
{ "name": "Yamaguchi", "language": "zh" }
]
},
"line2": "apt. 5",
"line1": "Some str. 123",
"integrationKey": "00123456789|Some+str.+123|apt.+5|112233|Tokyo|JP|JP-35"
},
"deliveryMode": {
"name": "Premium Delivery",
"description": "1-2 business days",
"code": "premium-gross",
"integrationKey": "premium-gross",
"localizedAttributes": [
{
"name": "Premium Delivery",
"description": "1-2 business days",
"language": "en"
},
{
"name": "Premium-Lieferung",
"description": "1-2 Werktage",
"language": "de"
},
{ "name": "特別出荷", "description": "1~2 営業日", "language": "ja" },
{ "name": "高级送货", "description": "1-2 工作日", "language": "zh" }
]
},
"currency": {
"name": "Euro",
"symbol": "€",
"isocode": "EUR",
"integrationKey": "EUR",
"localizedAttributes": [
{ "name": "Euro", "language": "en" },
{ "name": "Euro", "language": "de" },
{ "name": "ユーロ", "language": "ja" },
{ "name": "欧元", "language": "zh" }
]
},
"net": false,
"paymentStatus": { "code": "NOTPAID" },
"salesApplication": { "code": "Web" },
"paymentMode": {
"code": "balazs-payment-mode",
"integrationKey": "balazs-payment-mode",
"localizedAttributes": []
},
"store": {
"name": "Electronics Store",
"uid": "electronics",
"integrationKey": "electronics",
"localizedAttributes": [
{ "name": "Electronics Store", "language": "en" },
{ "name": "Elektronikshop", "language": "de" },
{ "name": "エレクトロニクスストア", "language": "ja" },
{ "name": "电子产品店铺", "language": "zh" }
]
},
"paymentAddress": {
"country": {
"name": "Japan",
"isocode": "JP",
"integrationKey": "JP",
"localizedAttributes": [
{ "name": "Japan", "language": "en" },
{ "name": "Japan", "language": "de" },
{ "name": "日本", "language": "ja" },
{ "name": "日本", "language": "zh" }
]
},
"town": "Sapporo",
"line2": "1-1-22 Kita 7 Jonishi",
"postalcode": "060-0807",
"integrationKey": "null|null|1-1-22+Kita+7+Jonishi|060-0807|Sapporo|null|JP|null"
},
"site": {
"name": "Electronics Site",
"uid": "electronics",
"integrationKey": "electronics",
"localizedAttributes": [
{ "name": "Electronics Site", "language": "en" },
{ "name": "Elektronik-Website", "language": "de" },
{ "name": "エレクトロニクスサイト", "language": "ja" },
{ "name": "电子产品站点", "language": "zh" }
]
},
"entries": [
{
"unit": {
"unitType": "pieces",
"name": "Piece",
"code": "pieces",
"integrationKey": "pieces",
"localizedAttributes": [
{ "name": "Piece", "language": "en" },
{ "name": "Stück", "language": "de" }
]
},
"product": {
"summary": "EOS 500D + 18-200mm IS - 15.1 MP CMOS, Full HD (1080p), 3.4fps, 3.0” Clear View LCD, DIGIC 4, 9-point AF",
"catalogVersion": {
"version": "Online",
"catalog": {
"id": "electronicsProductCatalog",
"integrationKey": "electronicsProductCatalog"
},
"integrationKey": "Online|electronicsProductCatalog"
},
"thumbnail": {
"downloadURL": "/medias/?context=bWFzdGVyfGltYWdlc3wyMTU3fGltYWdlL2pwZWd8aDVkL2gzNy84Nzk2MjI5NDAyNjU0fDYxYTUwNWNlZTMzYmNlYmI5NzhiZjdlMDhkMTI5Zjk5ZjcwN2M3MDNiYWFhZGZlMWUzMjAyOTZjNDk4MDI0Zjg&attachment=true",
"catalogVersion": {
"version": "Online",
"catalog": {
"id": "electronicsProductCatalog",
"integrationKey": "electronicsProductCatalog"
},
"integrationKey": "Online|electronicsProductCatalog"
},
"code": "/96Wx96H/2053226_2751.jpg",
"URL2": "/medias/?context=bWFzdGVyfGltYWdlc3wyMTU3fGltYWdlL2pwZWd8aDVkL2gzNy84Nzk2MjI5NDAyNjU0fDYxYTUwNWNlZTMzYmNlYmI5NzhiZjdlMDhkMTI5Zjk5ZjcwN2M3MDNiYWFhZGZlMWUzMjAyOTZjNDk4MDI0Zjg",
"URL": "/medias/?context=bWFzdGVyfGltYWdlc3wyMTU3fGltYWdlL2pwZWd8aDVkL2gzNy84Nzk2MjI5NDAyNjU0fDYxYTUwNWNlZTMzYmNlYmI5NzhiZjdlMDhkMTI5Zjk5ZjcwN2M3MDNiYWFhZGZlMWUzMjAyOTZjNDk4MDI0Zjg",
"integrationKey": "Online|electronicsProductCatalog|%2F96Wx96H%2F2053226_2751.jpg"
},
"supercategories": [
{
"name": "Digital SLR",
"catalogVersion": {
"version": "Online",
"catalog": {
"id": "electronicsProductCatalog",
"integrationKey": "electronicsProductCatalog"
},
"integrationKey": "Online|electronicsProductCatalog"
},
"code": "578",
"integrationKey": "Online|electronicsProductCatalog|578",
"localizedAttributes": [
{ "name": "Digital SLR", "language": "en" },
{ "name": "Digitale Spiegelreflexkameras", "language": "de" },
{ "name": "デジタル一眼レフ", "language": "ja" },
{ "name": "数码单反", "language": "zh" }
]
},
{
"name": "Canon",
"catalogVersion": {
"version": "Online",
"catalog": {
"id": "electronicsProductCatalog",
"integrationKey": "electronicsProductCatalog"
},
"integrationKey": "Online|electronicsProductCatalog"
},
"code": "brand_10",
"integrationKey": "Online|electronicsProductCatalog|brand_10",
"localizedAttributes": [
{ "name": "Canon", "language": "en" },
{ "name": "Canon", "language": "de" },
{ "name": "Canon", "language": "ja" },
{ "name": "佳能", "language": "zh" }
]
}
],
"code": "2054947",
"manufacturerName": "Canon",
"name": "EOS 500D + 18-200mm IS",
"picture": {
"downloadURL": "/medias/?context=bWFzdGVyfGltYWdlc3w1ODI0OHxpbWFnZS9qcGVnfGg2Yy9oYTkvODc5NjIwMjk5MTY0Nnw0ZGRmZGNiMWY2NzczOGRmYWFjZTAxMTVmM2U4ZTNlNTYxZDJjNmQ0ZWFmMzFhNDgxZjk0YjkwZGU0ZjRlNGNh&attachment=true",
"catalogVersion": {
"version": "Online",
"catalog": {
"id": "electronicsProductCatalog",
"integrationKey": "electronicsProductCatalog"
},
"integrationKey": "Online|electronicsProductCatalog"
},
"code": "/300Wx300H/2053226_2751.jpg",
"URL2": "/medias/?context=bWFzdGVyfGltYWdlc3w1ODI0OHxpbWFnZS9qcGVnfGg2Yy9oYTkvODc5NjIwMjk5MTY0Nnw0ZGRmZGNiMWY2NzczOGRmYWFjZTAxMTVmM2U4ZTNlNTYxZDJjNmQ0ZWFmMzFhNDgxZjk0YjkwZGU0ZjRlNGNh",
"URL": "/medias/?context=bWFzdGVyfGltYWdlc3w1ODI0OHxpbWFnZS9qcGVnfGg2Yy9oYTkvODc5NjIwMjk5MTY0Nnw0ZGRmZGNiMWY2NzczOGRmYWFjZTAxMTVmM2U4ZTNlNTYxZDJjNmQ0ZWFmMzFhNDgxZjk0YjkwZGU0ZjRlNGNh",
"integrationKey": "Online|electronicsProductCatalog|%2F300Wx300H%2F2053226_2751.jpg"
},
"integrationKey": "Online|electronicsProductCatalog|2054947",
"localizedAttributes": [
{
"summary": "EOS 500D + 18-200mm IS - 15.1 MP CMOS, Full HD (1080p), 3.4fps, 3.0” Clear View LCD, DIGIC 4, 9-point AF",
"name": "EOS 500D + 18-200mm IS",
"language": "en"
},
{
"summary": "EOS 500D + 18-200mm - 15,1 MP CMOS, Full HD (1080p), 3,4fps, 3,0” Clear View LCD, DIGIC 4, 9-Punkt-AF",
"name": "EOS 500D + 18-200mm IS",
"language": "de"
},
{
"summary": "EOS 500D + 18-200mm IS - 1510 万画素 CMOS、フル HD (1080p)、3.4fps、3.0 インチ クリア ビュー LCD、DIGIC 4、9 ポイント AF",
"name": "EOS 500D + 18-200mm IS",
"language": "ja"
},
{
"summary": "EOS 500D + 18-200mm IS - 1510 万像素 CMOS,1080p 全高清,3.4 帧/秒连拍,3.0 英寸 Clear View 液晶屏,DIGIC 4 处理器,9 点自动对焦",
"name": "EOS 500D + 18-200mm IS",
"language": "zh"
}
]
},
"quantity": "2",
"totalPrice": 223344,
"basePrice": 112233,
"order": { "code": "balazs-123" },
"integrationKey": "balazs-123"
}
],
"creationtime": "/Date(1616506395000)/",
"user": {
"customerID": "balazs-0323-1",
"uid": "balazs-test-0323-1@emarsys.com",
"integrationKey": "balazs-test-0323-1%40emarsys.com"
},
"deliveryStatus": { "code": "PARTSHIPPED" },
"deliveryCost": 222,
"status": { "code": "CREATED" }
}
}
Requires contact sync.
{
"customerId": 112233,
"sapCustomerId": "9e7ed473-f07b-4c3a-802e-044bd889e7df",
"eventTime": "2021-02-03T00:11:22Z",
"eventType": 'registration',
"eventId": "e43ecf20-da5c-4add-8b32-deb24c1231af",
"emsEventSource": "sap-commerce-cloud"
}
Requires contact and consent sync.
{
"customerId": 112233,
"sapCustomerId": "9e7ed473-f07b-4c3a-802e-044bd889e7df",
"eventTime": "2021-02-03T00:11:22Z",
"eventType": 'opt-in',
"eventId": "e43ecf20-da5c-4add-8b32-deb24c1231af",
"emsEventSource": "sap-commerce-cloud"
}
Requires contact and consent sync.
{
"customerId": 112233,
"sapCustomerId": "9e7ed473-f07b-4c3a-802e-044bd889e7df",
"eventTime": "2021-02-03T00:11:22Z",
"eventType": 'opt-out',
"eventId": "e43ecf20-da5c-4add-8b32-deb24c1231af",
"emsEventSource": "sap-commerce-cloud"
}
You can only sync events of logged-in users.
- You can customize the order, customer review and cart events in SAP CCv2 by adding additional attributes. For more information, see SAP Commerce Cloud Integration with Emarsys - Real Time Events customization.
- To read more on how to use these changes (events) in CCv2 to create highly automated and personalized customer journeys in Emarsys, head over to our Interactions page.
Recommendations for using events
- A well-built order flow is especially crucial for transactional Tactics and use cases - order confirmation or shipment update, for example.
- For marketing Tactics and automation in general, the filters can be managed on program level. A good example is setting up participation for once per day / week for post-purchase up-sell
3. Process flowcharts
These flowcharts show you the internal processes and the working logic of the integration. Click on each heading to see the relevant flowchart.
Once connected, Emarsys creates Integration Objects for Consent Templates, and Catalogs and exposes them through the API. These are used in the upcoming configuration phase.

General logics of consent and opt-in at SAP CCV2 and Emarsys:
-
SAP CCv2:
- Time stamps are used to track subscription and unsubscription; therefore, consents are managed as 'from-to' periods (i.e. time periods, during which the customer has an active subscription to a certain campaign). These 'from-to' periods:
- Can start in the past, present or future (i.e. the customer set the subscription to start on a future date).
- Can be open-ended (it has a starting date, but no withdrawal date) or closed (it has a starting date and a withdrawal date as well).
- You can subscribe/unsubscribe to more occasions separately (e.g. separate consent for accepting the Terms and Conditions). However, for the integration consent for sending marketing messages is the most relevant.
- Time stamps are used to track subscription and unsubscription; therefore, consents are managed as 'from-to' periods (i.e. time periods, during which the customer has an active subscription to a certain campaign). These 'from-to' periods:
-
Emarsys:
- There is only one main opt-in status (for the whole email channel).
- Opt-in status can only be: TRUE, FALSE or NULL (undefined).
Mapping (interpreting) consent from SAP CCv2 to Emarsys
Since in SAP CCv2 there can be several consents for different purposes, you need to choose one and Emarsys will interpret it as follows:
- TRUE: Customer has at least one consent with a given date in the past without a withdrawn date.
- FALSE: All consents of the customer have a withdrawal date.
- NULL: Customer has no consents at all.
As a general rule, customers from SAP CCv2 to Emarsys are interpreted with the opt-in status TRUE only, if they have an open-ended consent period (starting in the past or present), without a consent withdrawal. In all other cases, Emarsys will interpret as FALSE or NULL.
The following special use cases are interpreted as a FALSE opt-in status by Emarsys:
- The customer has a closed consent starting in the past, active in the present, but will be closed on a predefined future date.
- The customer set an open-ended consent that will start only on a future date.
Mapping (syncing back) consent from Emarsys to SAP CCv2
When syncing back consent from Emarsys to SAP CCv2, the opt-in statuses TRUE, FALSE or NULL will be converted as follows:
- TRUE: A new open-ended consent period starts in SAP CCv2 at the time of the sync-back (unless there was an ongoing one already).
- FALSE: In case there is an ongoing consent period in SAP CCv2, it is withdrawn at the time of the sync-back. All consent periods set for the future are removed.
- NULL: No consent period is synced to SAP CCv2.
Emarsys can import products from your SAP CCv2 shop. The transformation logic and other details are presented later on in Product sync transformations.
4. Attribute inheritance for products
To understand the internal logic of product attribute assignment better, let's have a look at how different product attributes are inherited during a product sync.
Here is a product example: T-Shirt with its sub-variants (child products).
T-Shirt -> Red T-Shirt -> Red T-Shirt of size S
-> Red T-Shirt of size M
-> Red T-Shirt of size L
-> Blue T-Shirt -> Blue T-Shirt of size L
-> Blue T-Shirt of size XL
Availibility
Upward inheriting works when determining whether a product is available. So, if there is no StockLevels
information present on Red T-Shirt, but any of its (red) size variants is available, then Red T-Shirt also shows up as available. This is done recursively, so if T-Shirt has no StockLevels
either, then the availability of that item is also set based on the status of the Red or Blue colour variants.
Categories
Category inheritance works downwards. For example, when the colour and size variants have no categories present, but the top-level T-Shirt has, then all the variants below it inherit those.
Price
Price inheritance works downwards. If price is defined only on the upper levels (e.g. the colour), then all variants below that level inherit that price when they have no specific price assigned to them.
Limitations
With all these inheritance rules in place, availability sync may still result in missing pieces of information. For example, if no StockLevels
information is present on the same level of the product hierarchy as the categories and the prices, then the product availability update process cannot determine the price or category for that specific product. In such cases they will be left empty.