Data Source Mapping API
Use these APIs to manage mappings between data sources and user properties for a tenant.
All requests must include the authKey header for authentication.
Create Data Source Mapping
Request
- Method:
POST - URL:
https://<base_url>/api/mapping - Headers:
authKey(Required) - Description: Creates a new mapping between a data source and a user property. You can also define metadata, such as the input column from the data source.
Payload
{
"campaignId": <campaignID>, //replace it with campaign ID
"dmpDataPointCode": "DMP123",
"dataSourceName": "analyze_post",
"metadata": "{\"input_col\": \"properties__testprop\"}"
}
Success Response
{
"message": "Mapping created successfully for User property 'DMP123' and Data source 'analyze_post' under Tenant 0000."
}
Error Responses
{
"error": "Bad Request",
"message": "Mapping already exists for User property 'DMP123' and Data source 'analyze_post' under Tenant 0000."
}
{
"dataSourceName": "dataSourceName must be either 'analyze_post' or 'dataingestionapi'."
}
Update Data Source Mapping
Request
- Method:
PUT - URL:
https://<base_url>/api/mapping - Headers:
authKey(Required) - Description: Updates an existing mapping between a data source and a user property. Useful for modifying metadata, such as input column mappings.
Payload
{
"campaignId": <campaignID>, //replace it with campaign ID
"dmpDataPointCode": "DMP123",
"dataSourceName": "analyze_post",
"metadata": "{\"input_col\": \"properties__testprop\"}"
}
Success Response
{
"message": "Mapping updated successfully for User property 'DMP123' and Data source 'analyze_post' under Tenant 0000."
}
Error Response
{
"error": "Not Found",
"message": "User property 'DMP123' not found for Tenant 0000."
}
Get Mapping for a Specific User Property
Request
- Method:
GET - URL:
https://<base_url>/api/mapping/campaignId/{campaignId}/dataSource/{dataSourceName}/dataPoint/{dmpDataPointCode} - Headers:
authKey(Required) - Description: Retrieves mapping information for a specific user property within a tenant and data source.
Success Response
{
"id": 00000,
"dmpCampaignDataSourceId": 0000,
"dmpCampaignDataDictionaryId": 00000,
"profileUpdateFunction": "UPDATE",
"metadata": "{\"input_col\": \"properties__DMP123\"}",
"isMandatory": 0
}
Error Response
{
"error": "Not Found",
"message": "User property 'DMP123' not found for Tenant ####."
}
Get All Mappings for a Tenant and Data Source
Request
- Method:
GET - URL:
https://<base_url>/api/mapping/campaignId/{campaignId}/dataSource/{dataSourceName} - Headers:
authKey(Required) - Description: Returns all mappings between the specified data source and user properties for a tenant.
Success Response
[
{
"id": 00000,
"dmpCampaignDataSourceId": 0000,
"dmpCampaignDataDictionaryId": 00000,
"profileUpdateFunction": "UPDATE",
"metadata": "{\"input_col\": \"properties__testmerge123\"}",
"isMandatory": 0
},
{
"id": 00000,
"dmpCampaignDataSourceId": 0000,
"dmpCampaignDataDictionaryId": 00000,
"profileUpdateFunction": "UPDATE",
"metadata": "{\"input_col\": \"properties__DMP456\"}",
"isMandatory": 1
}
]
Error Response
{
"error": "Not Found",
"message": "Data source 'analyze_post' not found for Tenant ####."
}
Get All Data Source Mappings
Request
- Method:
GET - URL:
https://<base_url>/api/mapping/campaign/{vizVrmId}/dataSource/{dataSourceName} - Headers:
authKey(Required) - Description: Retrieves all mappings (tenant, vertical, and global) between user properties and the specified data source.
Success Response
[
{
"ProfileUpdateFunction": "UPDATE",
"IsMandatory": false,
"CampaignId": "VIZVRM6",
"Preference": "none",
"DMPDataPointCode": "firstname",
"Priority": 1,
"IsProfileField": true,
"Metadata": "{\"input_col\":\"properties__FIRST_NAME\"}",
"DataType": "STRING",
"Name": "dataingestionapi"
},
{
"ProfileUpdateFunction": "UPDATE",
"IsMandatory": false,
"CampaignId": "VIZVRM6",
"Preference": "none",
"DMPDataPointCode": "lastname",
"Priority": 1,
"IsProfileField": true,
"Metadata": "{\"input_col\":\"properties__LAST_NAME\"}",
"DataType": "STRING",
"Name": "dataingestionapi"
}
]
Error Response
{
"error": "Not Found",
"message": "No mappings found for tenant 'VIZVRM6' and Data source 'analyze_post'."
}
Delete Data Source Mapping
Request
- Method:
DELETE - URL:
https://<base_url>/api/mapping/campaignId/{campaignId}/dataSource/{dataSourceName}/dataPoint/{dmpDataPointCode} - Headers:
authKey(Required) - Description: Deletes the mapping between a user property and data source for the specified tenant.
Success Response
{
"message": "Mapping for User property 'DMP123' and Data source 'analyze_post' under Tenant #### has been removed successfully."
}
Error Response
{
"error": "Not Found",
"message": "User property 'DMP123' not found for Tenant ####."
}