Data Mapping

Data Mapping Public Webservice

Create Data Mapper Definition

Create a Data Mapper Definition which is used to map data (i.e. in the format from the database) to the CDQ data model.

Data mapper definition consists of:

  • inputMapping - definition how to map businessPartner.record to CDQ data model
  • outputMapping - definition how to map CDQ data model to the target model

Business partner can be mapped via businessPartnerAttributeMappings. The following values of attribute mapping rules:

  • as targetAttributes for inputMapping
  • as sourceAttributes for outputMapping (please remember they are case sensitive)

can be mapped to Business Partner attributes:

  • businessPartner.dataSource
  • businessPartner.externalId
  • businessPartner.disclosed - special attribute. When defined in a mapping, takes over the decision for disclosing records in data source this Data Mapper Definition is assigned to. When source attribute is mapped from record, the mapping takes the value. If the attribute is missing, disclosed is set to false.
  • businessPartner.names[0-10].value
  • businessPartner.names[0-10].shortName
  • businessPartner.names[0-10].language
  • businessPartner.names[0-10].type
  • businessPartner.names
  • businessPartner.legalForm.name
  • businessPartner.legalForm.categories[0-4].technicalKey
  • businessPartner.categories
  • businessPartner.identifiers[0-49].value
  • businessPartner.identifiers[0-49].type
  • businessPartner.identifiers[0-49].issuingBody.name
  • businessPartner.identifiers[0-49].issuingBody - mapped to issuingBody.technicalKey
  • businessPartner.identifiers[0-49].status
  • businessPartner.identifiers
  • businessPartner.externalContext.identifiers[0-49].value
  • businessPartner.externalContext.identifiers[0-49].type
  • businessPartner.externalContext.identifiers

The index of typed concepts: names and identifiers, is not a final position of concept in the CDQ data model - this is a grouping indicator for a set of concept properties.

In Names mapping, in case none of names is typed LOCAL and exists any name with empty type or not filled type.technicalKey, it becomes name of type LOCAL.

Addresses can be mapped via addressesAttributeMappings. Address receives id property coming from an index of the collection of AttributeMappingRules. The following values of attribute mapping rules

  • as targetAttributes for inputMapping
  • as sourceAttributes for outputMapping

can be mapped to address attributes:

  • address.externalId
  • address.version.language
  • address.version.characterSet
  • address.careOf.value
  • address.identifyingName.value
  • address.country.value
  • address.country.shortName
  • address.administrativeAreas
  • address.administrativeAreas[0-4].value
  • address.administrativeAreas[0-4].shortName
  • address.administrativeAreas[0-4].type
  • address.postCodes
  • address.postCodes[0-4].value
  • address.postCodes[0-4].type
  • address.localities
  • address.localities[0-4].value
  • address.localities[0-4].shortName
  • address.localities[0-4].type
  • address.thoroughfares
  • address.thoroughfares[0-4].value
  • address.thoroughfares[0-4].shortName
  • address.thoroughfares[0-4].number
  • address.thoroughfares[0-4].type
  • address.premises
  • address.premises[0-4].value
  • address.premises[0-4].shortName
  • address.premises[0-4].number
  • address.premises[0-4].type
  • address.postalDeliveryPoints
  • address.postalDeliveryPoints[0-4].value
  • address.postalDeliveryPoints[0-4].shortName
  • address.postalDeliveryPoints[0-4].number
  • address.postalDeliveryPoints[0-4].type
  • address.geographicCoordinates.latitude
  • address.geographicCoordinates.longitude
  • address.contexts
  • address.contexts[0-4]
SecurityapiKey
Request
Request Body schema: application/json
required

Request to create a new Data Mapper Definition.

object (BusinessPartnerMappingRule)

Maps a Business Partner data from raw data to CDQ data model.

labels
Array of strings

Labels to categorize the Data Mapper Definition.

Example: ["Custom Data Mapper Label"]
name
string

Name of the Data Mapper Definition.

Example: "Custom Data Mapper Definition"
object (BusinessPartnerMappingRule)

Maps a Business Partner data from raw data to CDQ data model.

shareWithOrganization
boolean

Toggle to enable that the Data Mapper Definition is shared with the whole organization.

Example: "true"
Array of objects (ValueMapping)

List of value mappings.

Responses
200

OK

post/datamapperdefinitions
Request samples
application/json
{
  • "name": "Custom Data Mapper Definition",
  • "labels": [
    ],
  • "shareWithOrganization": "true",
  • "valueMappings": [
    ],
  • "inputMapping": {
    },
  • "outputMapping": {
    }
}
Response samples
application/json
{
  • "id": "6440dba32b30176c5917b1b7",
  • "createdAt": "2024-11-22T13:20:00Z",
  • "createdBy": "76248934691294444",
  • "lastUpdatedAt": "2024-11-22T13:20:00Z",
  • "modifiedAt": "2024-11-22T13:20:00Z",
  • "modifiedBy": "76248934691294444",
  • "creatorUsername": "john.doe",
  • "creatorOrganization": "cdq",
  • "shareWithOrganization": "true",
  • "labels": [
    ],
  • "name": "Custom name of Data Mapper",
  • "valueMappings": [
    ],
  • "inputMapping": {
    },
  • "outputMapping": {
    }
}

Delete Data Mapper Definition

Delete chosen Data Mapper Definition.

SecurityapiKey
Request
path Parameters
id
required
string (DataMapperDefinitionId)

Unique ID of the Data Mapper Definition.

Example: 6440dba32b30176c5917b1b7
Responses
200

OK

delete/datamapperdefinitions/{id}
Request samples

List Data Mapper Definitions

Read the Data Mapper Definition Page.

SecurityapiKey
Request
query Parameters
label
Array of strings

Label for filtering that is passed as header parameter with the name label.

Example: label=Custom label
page
integer <int32> >= 0
Default: 0

Number of the page that will be retrieved.

Example: page=10
pageSize
integer <int32> >= 1
Default: 20

Number of items to be returned on the page.

Example: pageSize=10
sharedWithOrganization
boolean

Filters only mappings which are shared with organization or not.

Example: sharedWithOrganization=true
sort
string

Defines the attributes to sort by. Supported attributes are 'id' and 'modifiedAt', separated by comma (,) and the sort direction in front of each attribute. '+' means ascending, '-' means descending. If direction is not given default sort is ascending.

Example: sort=-modifiedAt
Responses
200

OK

get/datamapperdefinitions
Request samples
Response samples
application/json
{
  • "numberOfPages": "10",
  • "page": "1",
  • "pageSize": "100",
  • "total": "67",
  • "values": [
    ]
}

Read Data Mapper Definition

Read a Data Mapper Definition.

SecurityapiKey
Request
path Parameters
id
required
string (DataMapperDefinitionId)

Unique ID of the Data Mapper Definition.

Example: 6440dba32b30176c5917b1b7
Responses
200

OK

get/datamapperdefinitions/{id}
Request samples
Response samples
application/json
{
  • "id": "6440dba32b30176c5917b1b7",
  • "createdAt": "2024-11-22T13:20:00Z",
  • "createdBy": "76248934691294444",
  • "lastUpdatedAt": "2024-11-22T13:20:00Z",
  • "modifiedAt": "2024-11-22T13:20:00Z",
  • "modifiedBy": "76248934691294444",
  • "creatorUsername": "john.doe",
  • "creatorOrganization": "cdq",
  • "shareWithOrganization": "true",
  • "labels": [
    ],
  • "name": "Custom name of Data Mapper",
  • "valueMappings": [
    ],
  • "inputMapping": {
    },
  • "outputMapping": {
    }
}

Update Data Mapper Definition

Update a Data Mapper Definition. For more information what are the allowed Data Mapper values, go to creation endpoint description.

SecurityapiKey
Request
path Parameters
id
required
string (DataMapperDefinitionId)

Unique ID of the Data Mapper Definition.

Example: 6440dba32b30176c5917b1b7
Request Body schema: application/json
required

Request to create a new Data Mapper Definition.

object (BusinessPartnerMappingRule)

Maps a Business Partner data from raw data to CDQ data model.

labels
Array of strings

Labels to categorize the Data Mapper Definition.

Example: ["Custom Data Mapper Label"]
name
string

Name of the Data Mapper Definition.

Example: "Custom Data Mapper Definition"
object (BusinessPartnerMappingRule)

Maps a Business Partner data from raw data to CDQ data model.

shareWithOrganization
boolean

Toggle to enable that the Data Mapper Definition is shared with the whole organization.

Example: "true"
Array of objects (ValueMapping)

List of value mappings.

Responses
200

OK

put/datamapperdefinitions/{id}
Request samples
application/json
{
  • "name": "Custom Data Mapper Definition",
  • "labels": [
    ],
  • "shareWithOrganization": "true",
  • "valueMappings": [
    ],
  • "inputMapping": {
    },
  • "outputMapping": {
    }
}
Response samples
application/json
{
  • "id": "6440dba32b30176c5917b1b7",
  • "createdAt": "2024-11-22T13:20:00Z",
  • "createdBy": "76248934691294444",
  • "lastUpdatedAt": "2024-11-22T13:20:00Z",
  • "modifiedAt": "2024-11-22T13:20:00Z",
  • "modifiedBy": "76248934691294444",
  • "creatorUsername": "john.doe",
  • "creatorOrganization": "cdq",
  • "shareWithOrganization": "true",
  • "labels": [
    ],
  • "name": "Custom name of Data Mapper",
  • "valueMappings": [
    ],
  • "inputMapping": {
    },
  • "outputMapping": {
    }
}