Create a mapping set
You can create a new mapping set by making a POST request to the /mappingSets
endpoint.
API format
POST /mappingSets
Request
The following request creates a new mapping set, configured by the parameters provided in the payload.
curl -X POST https://platform.adobe.io/data/foundation/conversion/mappingSets \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '
{
"outputSchema": {
"schemaRef": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/89abc189258b1cb1a816d8f2b2341a6d98000ed8f4008305",
"contentType": "application/vnd.adobe.xed-full+json;version=1"
}
},
"mappings": [
{
"sourceType": "ATTRIBUTE",
"source": "id",
"destination": "_id",
"name": "id",
"description": "Identifier field"
},
{
"sourceType": "ATTRIBUTE",
"source": "firstName",
"destination": "person.name.firstName"
},
{
"sourceType": "ATTRIBUTE",
"source": "lastName",
"destination": "person.name.lastName"
}
]
}
Property | Description |
---|---|
outputSchema.schemaRef.id | The ID of the XDM schema you are referencing. |
outputSchema.schemaRef.contentType | Determines the response format of the referenced schema. More information on this field can be found in the Schema Registry developer guide. |
mappings.sourceType |
The source type describes how the value will be extracted from the source to the destination. The source type supports two possible values:
WARNING: Incorrectly setting the source type values can render your mapping sets uneditable. |
mappings.source | The location where you want the data to be mapped from. |
mappings.destination | The location where you want the data to be mapped to. |
Response
A successful response returns HTTP status 200 with information about your newly created mapping set.
{
"id": "e7c80e4c0d8f4a98a7d400b4e178b635",
"version": 0,
"createdDate": 1614901254724,
"modifiedDate": 1614901254724,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}"
}
Validate mappings
You can validate that your mappings properly work by making a POST request to the /mappingSets/validate
endpoint.
API format
POST /mappingSets/validate
Request
The following request validates the mappings provided in the payload.
curl -X POST https://platform.adobe.io/data/foundation/conversion/mappingSets/validate \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '
{
"outputSchema": {
"schemaRef": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/89abc189258b1cb1a816d8f2b2341a6d98000ed8f4008305",
"contentType": "application/vnd.adobe.xed-full+json;version=1"
}
},
"mappings": [
{
"sourceType": "ATTRIBUTE",
"source": "id",
"destination": "_id",
"name": "id",
"description": "Identifier field"
},
{
"sourceType": "ATTRIBUTE",
"source": "firstName",
"destination": "person.name.firstName"
},
{
"sourceType": "ATTRIBUTE",
"source": "lastName",
"destination": "person.name.lastName"
}
]
}
Response
A successful response returns HTTP status 200 with validation information for the proposed mapping.
{
"validationResponse": [
{
"status": "SUCCESS",
"errors": null
},
{
"status": "SUCCESS",
"errors": null
},
{
"status": "SUCCESS",
"errors": null
}
]
}
Preview data for mappings
You can preview what your data will be mapped to by making a POST request to the /mappingSets/preview
endpoint.
API format
POST /mappingSets/preview
Request
curl -X POST https://platform.adobe.io/data/foundation/conversion/mappingSets/preview \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '
{
"data": [
{
"id": 1234,
"firstName": "Jim",
"lastName": "Seltzer"
}
],
"mappingSet": {
"outputSchema": {
"schemaRef": {
"id": "https://ns.adobe.com/stardust/schemas/89abc189258b1cb1a816d8f2b2341a6d98000ed8f4008305",
"contentType": "application/vnd.adobe.xed-full+json;version=1"
}
},
"mappings": [
{
"sourceType": "ATTRIBUTE",
"source": "id",
"destination": "_id",
"name": "id",
"description": "Identifier field"
},
{
"sourceType": "ATTRIBUTE",
"source": "firstName",
"destination": "person.name.firstName"
},
{
"sourceType": "ATTRIBUTE",
"source": "lastName",
"destination": "person.name.lastName"
}
]
}
}'
Response
A successful response returns HTTP status 200 with a preview of your mapped data.
[
{
"data": {
"person": {
"name": {
"firstName": "Jim",
"lastName": "Seltzer"
}
},
"_id": "1234"
},
"errors": null
}
]