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": 6335,
"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 6335."
}
Error Responses
{
"error": "Bad Request",
"message": "Mapping already exists for User property 'DMP123' and Data source 'analyze_post' under Tenant 6335."
}
{
"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": 6335,
"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 6335."
}
Error Response
{
"error": "Not Found",
"message": "User property 'DMP123' not found for Tenant 6335."
}
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": 25609,
"dmpCampaignDataSourceId": 1432,
"dmpCampaignDataDictionaryId": 14439,
"profileUpdateFunction": "UPDATE",
"metadata": "{\"input_col\": \"properties__DMP123\"}",
"isMandatory": 0
}
Error Response
{
"error": "Not Found",
"message": "User property 'DMP123' not found for Tenant 6335."
}
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": 25609,
"dmpCampaignDataSourceId": 1332,
"dmpCampaignDataDictionaryId": 14349,
"profileUpdateFunction": "UPDATE",
"metadata": "{\"input_col\": \"properties__testmerge123\"}",
"isMandatory": 0
},
{
"id": 25810,
"dmpCampaignDataSourceId": 1532,
"dmpCampaignDataDictionaryId": 14350,
"profileUpdateFunction": "UPDATE",
"metadata": "{\"input_col\": \"properties__DMP456\"}",
"isMandatory": 1
}
]
Error Response
{
"error": "Not Found",
"message": "Data source 'analyze_post' not found for Tenant 6335."
}
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": "VIZVRM6335",
"Preference": "none",
"DMPDataPointCode": "firstname",
"Priority": 1,
"IsProfileField": true,
"Metadata": "{\"input_col\":\"properties__FIRST_NAME\"}",
"DataType": "STRING",
"Name": "dataingestionapi"
},
{
"ProfileUpdateFunction": "UPDATE",
"IsMandatory": false,
"CampaignId": "VIZVRM6335",
"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 'VIZVRM6335' 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 6335 has been removed successfully."
}
Error Response
{
"error": "Not Found",
"message": "User property 'DMP123' not found for Tenant 6335."
}