Objective:
This article provides a high-level understanding of how the integration sends data from Syntasa to AEP.
How the app works at a high level:
- Firstly, we are required to follow the AEP XDM schema format which can be found here:
XDM Field Type Constraints | Adobe Experience Platform
The app manages these transformations by taking each column and manipulating it by taking the existing datatype and building a schema array for the XDM format. - Next, we are hitting over 12 API endpoints, ranging from generating the class & schema, the dataset, and finally, the data send.
The pipeline from the internals of the App looks like this:
Creating a new class → associating a new schema with this class → Creating a new dataset → inserting the data into this dataset.
The app in Syntasa (UI Work in progress):
The UI is split up into two views, one being the column selector where the columns that are desired from the input table are selected and where the Primary key is associated.
The second view is the Input table, which is filling out necessary/optional information for what will appear in AEP. This ranges from the schema name to the sandbox name.
(Both Sandbox name and Tenant ID can be found in the URL of AEP when you login to the environment)
https://experience.adobe.com/#/exchangesandbox/sname:exampleAEP/platform/home
Tenant ID = exampleexchangesandbox
sname(sandbox) = exampleAEP
Some of the nuances in the App:
I am supporting the spark datatypes of string, float, bigint, double, int, date, timestamp, and boolean If you are trying to add any unsupported then please let the syntasa team know.
AEP Identity matching is not in this version of the app. The reasoning behind this is that to create the logic behind this would require extensive understanding on AEP and the syntasa UI would not be able to demonstrate the connections of AEP across the different datasets.
Any cases of schema inaccuracy, please let the Syntasa team know with information around what is the desired output.
In case of any error:
Verify that the endpoint that is being hit is working correctly.
Double check in AEP. If there is an error in AEP, you can pull more details about that error using the error reporting API. (Check Syntasa logs / AEP for the error code)