Technical Articles
Loading CSV Data with SOAP UI into SAP Hybris Marketing Cloud and SAP Hybris Marketing
You have to call the OData Service CUAN_IMPORT_SRV in order to load master data like contacts or products and interaction data into SAP Hybris Marketing Cloud and SAP Hybris Marketing. Normally you have a middle ware like SAP HANA Cloud Integration (HCI) in place to connect your source system or source CSV File with the OData Service. If you require a test data upload of CSV data, you can use the following tutorial.
Prerequisites:
- Install SOAP UI:
This tutorial uses the open source product SOAP UI for uploading data. Therefore first install the tool. - Import SOAP UI project:
Import the SOAP UI project XML by choosing File -> Import Project. You find the XML under https://mdocs.sap.com/mcm/public/v1/open?shr=NAQUF-BRLdOsHpQEtCDCyS7lgtQFZ1FROnygWLvBR3U. - Creating of Communication User:
- Creation in SAP Hybris Marketing Cloud:
Log On to your SAP Hybris Marketing Cloud System. Ensure that your user has access to the business catalogue Communication Management:
Open the app Communication Systems and choose New. Enter a system ID like SOAP_UI_UPLOAD. The host is localhost. Create a new Inbound User, e.g. MKT_UPLOAD:
Afterwards open the app Communication Arrangements. Create a new communication arrangement for scenario SAP_COM_0003 (Marketing – Master Data Integration) and SAP_COM_0004 (Marketing – Business Data Integration) and assign your newly created communication system. The inbound communication user should be taken over and you should see the OData service CUAN_IMPORT_SRV in the inbound services section:
- Creation in SAP Hybris Marketing:
Log on to your SAP Hybris Marketing Backendsystem. Copy role SAP_CEI_ECOMMERCE_INTEGRATION and maintain the authorization values. Create a service user and assign your copied role to this user.
- Creation in SAP Hybris Marketing Cloud:
Prepare Data Files
The data upload requires 2 files, one CSV File containing the data and one text file containing the mapping of CSV columns to OData Properties.
The CSV File requires a header row. Line items have to be separated by semicolon. This is an example for products:
ID_ORIGIN;ID;DESCRIPTION
EXTERNAL;P1;Product 1
EXTERNAL;P2;Product 2
EXTERNAL;P3;
EXTERNAL;P4;Product 4
The metadata file must contain the mapping from the OData Service property to the CSV column separated by colon. The corresponding metadata file for product therefore would look like this:
IdOrigin:ID_ORIGIN
Id:ID
Description:DESCRIPTION
Your CSV file can contain more columns than you want to upload to the system. Only columns mapped in your metadata file will be uploaded. You can open the OData metadata document with any browser by entering the URL:
https://<your host name>/sap/opu/odata/sap/cuan_import_srv/$metadata?saml2=disabled
You will be prompted to enter a user and password. Logon with your communication user.
Specialties for Contact and Interaction Files
For contacts and interactions you are able to upload depending data. In case of contacts those depending data are facet information. For interactions you can upload products. In order for the tool to find the depending data a key column is needed in the data files. For contacts the data files could look like this:
Contact Data File:
KEY;ID_ORIGIN;ID;NAME_FIRST;NAME_LAST;DATE_OF_BIRTH
1;FILE_UPLOAD;4711;Jane;Doe;19800920
2;FILE_UPLOAD;4712;John;Doe;19790405
Facet Data File:
KEY;ID_ORIGIN;ID;OPTIN
1;EMAIL;jane.doe@email.com;Y
1;SMS;12345;N
2;EMAIL;john.doe@email.com;N
If you want to provide a Date of Birth for contacts you have to provide the date in format yyyyMMdd. Timestamps have to be provided in format yyyyMMdd or yyyyMMddHHmmss. If you are not providing a timestamp for a contact, the current time is taken. For interactions a timestamp is always required.
Data Load
- Open the imported project in SOAP UI and drill down to your desired data upload:
- Double click the upload to open it:
- Double click on Inputs to enter the needed upload information:
- You can now start the upload. Close the inputs window and press the start button of the upload case:
- When the upload was successful the upload will end with a corresponding success message. If the upload fails, your data might have incorrect values. Check the script log for error. You can always start the upload again.
Hi Eileen,
great document.
Cheers,
Joerg
hi,
just recommended it to an ex-SAP colleague to load some 3000 marketing attributes from a CSV file 😉
thanks for the article,
Nico
Thanks for the Blog. Can you tell me how to check the raw data being loaded in yMKT? I have interactions apparently loading successfully but I can't see them on the Account or Contact view.
I can't see the records being added to interactions table CUAND_CE_IA_RT. I suspect there might be some missing configuration? Is there any staging area table where the data is loaded?
Hi Thierry,
there is no staging area. Was the import returned with HTTP code 201?
Best regards,
Eileen
Hi Thierry,
I have the same problem with yMkt Cloud. How you solve it?
In HCI I can see the tweet, but I can not see it in yMKT Cloud.
Best regards,
Randall
Hi Eileen,
the url is not working, it has expired:
https://mdocs.sap.com/mcm/public/v1/open?shr=NAQUF-BRLdOsHpQEtCDCyS7lgtQFZ1FROnygWLvBR3U
Kr, Rayan.
Hi Rayan,
the link works now again.
Best regards,
Eileen
Hi Eileen,
it has expired again 🙁
Best regards,
Giovanni
Great blog,
I am facing an issue with on-premise 1709.
No authorization to upload CSV file for interaction contacts. I have most authorizations I could find and added SAP_MARKETING_BUS_ADMIN_USER to allow importing off test data. Log file shows error however of missing authorization. Is there another role I would need to add to my user?
I also have composite roles SAP_MARKETING_EXPERT and …_MANAGER but I might be missing one? Where can I set the authorization levels in 1709?
Thanks Frank
We found the solution for this issue. One of the back end users was set up as BATCH_USER and did not have the authorizations of my user attached to it. So even the Fiori front end process stated import of 12 records successful the trace showed that the job was canceled. That info is not relayed to the front end unfortunately. Only indication was no update of contact tables etc.
Hi,
The link says - Access to share has expired. Also, when I login, the shared folder is empty. Could you help me with this?
Thanks
Hi Varun,
You can access the content via https://customer-office-files.demo.hybris.com/medias/SCN/SOAP%20UI.zip now.
Best,
Michael
Hey Michael,
Do you have an example of an interaction upload with multi-products?
Best regards.
Hi Eileen Koehler,
I use your SOAPUI script very often for uploading test and demo data, so thank you so much for sharing it.
The service that is used in the script is CUAN_IMPORT_SRV, but that's deprecated. For now it still works, but would there be a new script using API_MKT_CONTACT_SRV and API_MKT_INTERACTION_SRV available?
Thanks!
Hi Eileen Koehler, , I just used the script again, it shows that everything ran successfully, however nothing appears in the marketing cloud system, not even in the import monitor 🙁 So I suppose CUAN_IMPORT_SRV actually stopped working now...
What's the alternative to getting interaction data with product info into a cloud system now? This script was so easy and fast to use...
Hi Eileen Koehler,
Interesting blog!
Are those deprecated services still working? If so, can someone share the SOAP UI Project XML again. The link has expired unfortunately.
Thanks in advance!
Teun van den Elzen
Hi Eileen Koehler,
Can please the share the mdocs file, When i open it says share does not exist or it has been deleted
Thanks and Regards:
Kedar