This API possibility to transform string with python code.
Transformation API (1)
https://idp.cdq.com/_mock/apis/transformation-api/api-v1/
https://api.corporate-data-league.ch/transformation-api/soap/v1/
https://api.corporate-data-league.ch/transformation-api/
List of imported data transformation definitions.
Name of the Data Transformation Definition.
Direction of the Data Transformation Definition. Does not prevent usage of reverse transformation. This field is used by Transformation-aware endpoints to determine whether to use normal or reversed definition.
| Enum Value | Description |
|---|---|
| INBOUND | Indicates that target attributes correspond the the CDQ data model. |
| OUTBOUND | Indicates that source attributes correspond the the CDQ data model. |
Custom transformation in python or javascript code.
The code must define a function "transform" with one parameter "raw_data" of type string. The function must return either:
- a string
- a json object (dict in python, JSON object literal in javascript).
When returning a json object, it must follow the following structure:
{
"targetAttributePath": "value",
"targetAttributePath2": "value2"
"targetAttributePath3": null // Null (e.g., None, undefined) values are ignored
}If sourceAttribute is a list, then the raw_data parameter will contain a serialized json array of strings. For example, if sourceAttribute points to ["address.line1", "address.line2"], then raw_data will be "["address.line1","address.line2"]" rather than an array of strings.
The simplest transformation looks as follows:
def transform(raw_data):
return raw_dataTo make some operation on json following code should be applied:
import json
def transform(raw_data):
json_result = json.loads(raw_data)
return json_result["address"]The method def transform(raw_data) must always be provided. Feature is experimental and limited to CDQ organizations.
Enable this transformation by setting transformation type in targetTransformations to CUSTOM_TRANSFORMATION and fill transformationName with the name of the custom transformation.
- Mock server
https://idp.cdq.com/_mock/apis/transformation-api/api-v1/datatransformationdefinitions
- Production SOAP
https://api.corporate-data-league.ch/transformation-api/soap/v1/datatransformationdefinitions
- Production
https://api.corporate-data-league.ch/transformation-api/datatransformationdefinitions
curl -i -X POST \
https://idp.cdq.com/_mock/apis/transformation-api/api-v1/datatransformationdefinitions \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"imports": [
{
"id": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4"
}
],
"name": "My DTD",
"direction": "INBOUND",
"type": {
"name": "BUSINESS_PARTNER",
"technicalKey": "BUSINESS_PARTNER"
},
"mappings": [
{
"sourceAttributes": [
"businessPartner.record"
],
"sourceSelections": [
{
"selectionType": "CONCATENATION",
"value": ","
}
],
"targetAttributes": [
"businessPartner.externalId"
],
"targetTransformations": [
{
"constantValue": "constant",
"targetAttributes": [
"businessPartner.externalId"
],
"transformationName": "CAPITALIZE",
"defaultValue": "default",
"transformationType": "CAPITALIZE"
}
],
"ignoredValues": [
"ignored value"
]
}
],
"reverseMappings": [
{
"sourceAttributes": [
"businessPartner.record"
],
"sourceSelections": [
{
"selectionType": "CONCATENATION",
"value": ","
}
],
"targetAttributes": [
"businessPartner.externalId"
],
"targetTransformations": [
{
"constantValue": "constant",
"targetAttributes": [
"businessPartner.externalId"
],
"transformationName": "CAPITALIZE",
"defaultValue": "default",
"transformationType": "CAPITALIZE"
}
],
"ignoredValues": [
"ignored value"
]
}
],
"valueMappings": [
{
"sourceConditions": [
{
"sourceValue": "AU",
"sourceAttribute": "$.identifications[*].country.code",
"sourceRegex": "^GR\\..{1,}"
}
],
"sourceValue": "AE1",
"targetValue": "AE",
"targetAttribute": "$.identifications[*].country.code",
"sourceAttribute": "$.identifications[*].country.code",
"disabled": "false"
}
],
"values": [
{
"sourceValue": "AE1",
"sourceAttribute": "identifications[*].indentificationType.code"
}
],
"customTransformations": [
{
"name": "Code above.",
"code": "Code above.",
"language": "python"
}
]
}'OK
List of imported data transformation definitions.
Name of the Data Transformation Definition.
Direction of the Data Transformation Definition. Does not prevent usage of reverse transformation. This field is used by Transformation-aware endpoints to determine whether to use normal or reversed definition.
| Enum Value | Description |
|---|---|
| INBOUND | Indicates that target attributes correspond the the CDQ data model. |
| OUTBOUND | Indicates that source attributes correspond the the CDQ data model. |
Unique identifier for a data transformation definition.
Uniquely identifying ID of the workspace.
User or Client UUID which modified the resource.
Date of modification (ISO 8601-compliant).
Custom transformation in python or javascript code.
The code must define a function "transform" with one parameter "raw_data" of type string. The function must return either:
- a string
- a json object (dict in python, JSON object literal in javascript).
When returning a json object, it must follow the following structure:
{
"targetAttributePath": "value",
"targetAttributePath2": "value2"
"targetAttributePath3": null // Null (e.g., None, undefined) values are ignored
}If sourceAttribute is a list, then the raw_data parameter will contain a serialized json array of strings. For example, if sourceAttribute points to ["address.line1", "address.line2"], then raw_data will be "["address.line1","address.line2"]" rather than an array of strings.
The simplest transformation looks as follows:
def transform(raw_data):
return raw_dataTo make some operation on json following code should be applied:
import json
def transform(raw_data):
json_result = json.loads(raw_data)
return json_result["address"]The method def transform(raw_data) must always be provided. Feature is experimental and limited to CDQ organizations.
Enable this transformation by setting transformation type in targetTransformations to CUSTOM_TRANSFORMATION and fill transformationName with the name of the custom transformation.
{ "imports": [ { … } ], "name": "My DTD", "direction": "INBOUND", "type": { "name": "BUSINESS_PARTNER", "technicalKey": "BUSINESS_PARTNER" }, "mappings": [ { … } ], "reverseMappings": [ { … } ], "valueMappings": [ { … } ], "values": [ { … } ], "id": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4", "workspaceId": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4", "version": 1, "createdBy": "76248934691294444", "createdAt": "2020-08-31T16:47+00:00", "modifiedBy": "76248934691294444", "modifiedAt": "2020-08-31T16:47+00:00", "customTransformations": [ { … } ] }
- Mock server
https://idp.cdq.com/_mock/apis/transformation-api/api-v1/datatransformationdefinitions
- Production SOAP
https://api.corporate-data-league.ch/transformation-api/soap/v1/datatransformationdefinitions
- Production
https://api.corporate-data-league.ch/transformation-api/datatransformationdefinitions
curl -i -X GET \
https://idp.cdq.com/_mock/apis/transformation-api/api-v1/datatransformationdefinitions \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'{ "total": "67", "pageSize": "100", "page": "1", "values": [ { … } ] }
List of imported data transformation definitions.
Name of the Data Transformation Definition.
Direction of the Data Transformation Definition. Does not prevent usage of reverse transformation. This field is used by Transformation-aware endpoints to determine whether to use normal or reversed definition.
| Enum Value | Description |
|---|---|
| INBOUND | Indicates that target attributes correspond the the CDQ data model. |
| OUTBOUND | Indicates that source attributes correspond the the CDQ data model. |
- Mock server
https://idp.cdq.com/_mock/apis/transformation-api/api-v1/public/datatransformationdefinitions
- Production SOAP
https://api.corporate-data-league.ch/transformation-api/soap/v1/public/datatransformationdefinitions
- Production
https://api.corporate-data-league.ch/transformation-api/public/datatransformationdefinitions
curl -i -X POST \
https://idp.cdq.com/_mock/apis/transformation-api/api-v1/public/datatransformationdefinitions \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"imports": [
{
"id": "SAP.ODM"
}
],
"name": "YOUR DTD NAME",
"direction": "INBOUND",
"type": {
"name": "BUSINESS_PARTNER",
"technicalKey": "BUSINESS_PARTNER"
},
"mappings": [],
"reverseMappings": [],
"valueMappings": [],
"values": []
}'OK
List of imported data transformation definitions.
Name of the Data Transformation Definition.
Direction of the Data Transformation Definition. Does not prevent usage of reverse transformation. This field is used by Transformation-aware endpoints to determine whether to use normal or reversed definition.
| Enum Value | Description |
|---|---|
| INBOUND | Indicates that target attributes correspond the the CDQ data model. |
| OUTBOUND | Indicates that source attributes correspond the the CDQ data model. |
Unique identifier for a data transformation definition.
Uniquely identifying ID of the workspace.
User or Client UUID which modified the resource.
{ "imports": [ { … } ], "name": "My DTD", "direction": "INBOUND", "type": { "name": "BUSINESS_PARTNER", "technicalKey": "BUSINESS_PARTNER" }, "mappings": [ { … } ], "reverseMappings": [ { … } ], "valueMappings": [ { … } ], "values": [ { … } ], "id": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4", "workspaceId": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4", "version": 1, "createdBy": "76248934691294444", "createdAt": "2020-08-31T16:47+00:00", "modifiedBy": "76248934691294444", "modifiedAt": "2020-08-31T16:47+00:00" }
Start after the given ID.
Filter for technicalKey type.
| Enum Value | Description |
|---|---|
| BUSINESS_PARTNER | Data transformation definitions applied to business partner model. |
| UPDATED_BUSINESS_PARTNER | Data transformation definitions applied to updated business partner model. |
| MESSAGE_DETAILS | Data transformation definitions applied to message details |
| BANK_ACCOUNT | Data transformation definition used during bank account data import job. |
- Mock server
https://idp.cdq.com/_mock/apis/transformation-api/api-v1/public/datatransformationdefinitions
- Production SOAP
https://api.corporate-data-league.ch/transformation-api/soap/v1/public/datatransformationdefinitions
- Production
https://api.corporate-data-league.ch/transformation-api/public/datatransformationdefinitions
curl -i -X GET \
https://idp.cdq.com/_mock/apis/transformation-api/api-v1/public/datatransformationdefinitions \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'{ "startAfter": "5712566172571652", "nextStartAfter": "5712566172571652", "total": "67", "values": [ { … } ] }
- Mock server
https://idp.cdq.com/_mock/apis/transformation-api/api-v1/datatransformationdefinitions/{id}/reverse
- Production SOAP
https://api.corporate-data-league.ch/transformation-api/soap/v1/datatransformationdefinitions/{id}/reverse
- Production
https://api.corporate-data-league.ch/transformation-api/datatransformationdefinitions/{id}/reverse
curl -i -X GET \
https://idp.cdq.com/_mock/apis/transformation-api/api-v1/datatransformationdefinitions/c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4/reverse \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'OK
List of imported data transformation definitions.
Name of the Data Transformation Definition.
Direction of the Data Transformation Definition. Does not prevent usage of reverse transformation. This field is used by Transformation-aware endpoints to determine whether to use normal or reversed definition.
| Enum Value | Description |
|---|---|
| INBOUND | Indicates that target attributes correspond the the CDQ data model. |
| OUTBOUND | Indicates that source attributes correspond the the CDQ data model. |
Unique identifier for a data transformation definition.
Uniquely identifying ID of the workspace.
User or Client UUID which modified the resource.
Date of modification (ISO 8601-compliant).
Custom transformation in python or javascript code.
The code must define a function "transform" with one parameter "raw_data" of type string. The function must return either:
- a string
- a json object (dict in python, JSON object literal in javascript).
When returning a json object, it must follow the following structure:
{
"targetAttributePath": "value",
"targetAttributePath2": "value2"
"targetAttributePath3": null // Null (e.g., None, undefined) values are ignored
}If sourceAttribute is a list, then the raw_data parameter will contain a serialized json array of strings. For example, if sourceAttribute points to ["address.line1", "address.line2"], then raw_data will be "["address.line1","address.line2"]" rather than an array of strings.
The simplest transformation looks as follows:
def transform(raw_data):
return raw_dataTo make some operation on json following code should be applied:
import json
def transform(raw_data):
json_result = json.loads(raw_data)
return json_result["address"]The method def transform(raw_data) must always be provided. Feature is experimental and limited to CDQ organizations.
Enable this transformation by setting transformation type in targetTransformations to CUSTOM_TRANSFORMATION and fill transformationName with the name of the custom transformation.
{ "imports": [ { … } ], "name": "My DTD", "direction": "INBOUND", "type": { "name": "BUSINESS_PARTNER", "technicalKey": "BUSINESS_PARTNER" }, "mappings": [ { … } ], "reverseMappings": [ { … } ], "valueMappings": [ { … } ], "values": [ { … } ], "id": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4", "workspaceId": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4", "version": 1, "createdBy": "76248934691294444", "createdAt": "2020-08-31T16:47+00:00", "modifiedBy": "76248934691294444", "modifiedAt": "2020-08-31T16:47+00:00", "customTransformations": [ { … } ] }
- Mock server
https://idp.cdq.com/_mock/apis/transformation-api/api-v1/public/datatransformationdefinitions/{id}/reverse
- Production SOAP
https://api.corporate-data-league.ch/transformation-api/soap/v1/public/datatransformationdefinitions/{id}/reverse
- Production
https://api.corporate-data-league.ch/transformation-api/public/datatransformationdefinitions/{id}/reverse
curl -i -X GET \
https://idp.cdq.com/_mock/apis/transformation-api/api-v1/public/datatransformationdefinitions/c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4/reverse \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'OK
List of imported data transformation definitions.
Name of the Data Transformation Definition.
Direction of the Data Transformation Definition. Does not prevent usage of reverse transformation. This field is used by Transformation-aware endpoints to determine whether to use normal or reversed definition.
| Enum Value | Description |
|---|---|
| INBOUND | Indicates that target attributes correspond the the CDQ data model. |
| OUTBOUND | Indicates that source attributes correspond the the CDQ data model. |
Unique identifier for a data transformation definition.
Uniquely identifying ID of the workspace.
User or Client UUID which modified the resource.
{ "imports": [ { … } ], "name": "My DTD", "direction": "INBOUND", "type": { "name": "BUSINESS_PARTNER", "technicalKey": "BUSINESS_PARTNER" }, "mappings": [ { … } ], "reverseMappings": [ { … } ], "valueMappings": [ { … } ], "values": [ { … } ], "id": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4", "workspaceId": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4", "version": 1, "createdBy": "76248934691294444", "createdAt": "2020-08-31T16:47+00:00", "modifiedBy": "76248934691294444", "modifiedAt": "2020-08-31T16:47+00:00" }
- Mock server
https://idp.cdq.com/_mock/apis/transformation-api/api-v1/datatransformationdefinitions/{id}
- Production SOAP
https://api.corporate-data-league.ch/transformation-api/soap/v1/datatransformationdefinitions/{id}
- Production
https://api.corporate-data-league.ch/transformation-api/datatransformationdefinitions/{id}
curl -i -X GET \
https://idp.cdq.com/_mock/apis/transformation-api/api-v1/datatransformationdefinitions/c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4 \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'OK
List of imported data transformation definitions.
Name of the Data Transformation Definition.
Direction of the Data Transformation Definition. Does not prevent usage of reverse transformation. This field is used by Transformation-aware endpoints to determine whether to use normal or reversed definition.
| Enum Value | Description |
|---|---|
| INBOUND | Indicates that target attributes correspond the the CDQ data model. |
| OUTBOUND | Indicates that source attributes correspond the the CDQ data model. |
Unique identifier for a data transformation definition.
Uniquely identifying ID of the workspace.
User or Client UUID which modified the resource.
Date of modification (ISO 8601-compliant).
Custom transformation in python or javascript code.
The code must define a function "transform" with one parameter "raw_data" of type string. The function must return either:
- a string
- a json object (dict in python, JSON object literal in javascript).
When returning a json object, it must follow the following structure:
{
"targetAttributePath": "value",
"targetAttributePath2": "value2"
"targetAttributePath3": null // Null (e.g., None, undefined) values are ignored
}If sourceAttribute is a list, then the raw_data parameter will contain a serialized json array of strings. For example, if sourceAttribute points to ["address.line1", "address.line2"], then raw_data will be "["address.line1","address.line2"]" rather than an array of strings.
The simplest transformation looks as follows:
def transform(raw_data):
return raw_dataTo make some operation on json following code should be applied:
import json
def transform(raw_data):
json_result = json.loads(raw_data)
return json_result["address"]The method def transform(raw_data) must always be provided. Feature is experimental and limited to CDQ organizations.
Enable this transformation by setting transformation type in targetTransformations to CUSTOM_TRANSFORMATION and fill transformationName with the name of the custom transformation.
{ "imports": [ { … } ], "name": "My DTD", "direction": "INBOUND", "type": { "name": "BUSINESS_PARTNER", "technicalKey": "BUSINESS_PARTNER" }, "mappings": [ { … } ], "reverseMappings": [ { … } ], "valueMappings": [ { … } ], "values": [ { … } ], "id": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4", "workspaceId": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4", "version": 1, "createdBy": "76248934691294444", "createdAt": "2020-08-31T16:47+00:00", "modifiedBy": "76248934691294444", "modifiedAt": "2020-08-31T16:47+00:00", "customTransformations": [ { … } ] }
List of imported data transformation definitions.
Name of the Data Transformation Definition.
Direction of the Data Transformation Definition. Does not prevent usage of reverse transformation. This field is used by Transformation-aware endpoints to determine whether to use normal or reversed definition.
| Enum Value | Description |
|---|---|
| INBOUND | Indicates that target attributes correspond the the CDQ data model. |
| OUTBOUND | Indicates that source attributes correspond the the CDQ data model. |
Custom transformation in python or javascript code.
The code must define a function "transform" with one parameter "raw_data" of type string. The function must return either:
- a string
- a json object (dict in python, JSON object literal in javascript).
When returning a json object, it must follow the following structure:
{
"targetAttributePath": "value",
"targetAttributePath2": "value2"
"targetAttributePath3": null // Null (e.g., None, undefined) values are ignored
}If sourceAttribute is a list, then the raw_data parameter will contain a serialized json array of strings. For example, if sourceAttribute points to ["address.line1", "address.line2"], then raw_data will be "["address.line1","address.line2"]" rather than an array of strings.
The simplest transformation looks as follows:
def transform(raw_data):
return raw_dataTo make some operation on json following code should be applied:
import json
def transform(raw_data):
json_result = json.loads(raw_data)
return json_result["address"]The method def transform(raw_data) must always be provided. Feature is experimental and limited to CDQ organizations.
Enable this transformation by setting transformation type in targetTransformations to CUSTOM_TRANSFORMATION and fill transformationName with the name of the custom transformation.
- Mock server
https://idp.cdq.com/_mock/apis/transformation-api/api-v1/datatransformationdefinitions/{id}
- Production SOAP
https://api.corporate-data-league.ch/transformation-api/soap/v1/datatransformationdefinitions/{id}
- Production
https://api.corporate-data-league.ch/transformation-api/datatransformationdefinitions/{id}
curl -i -X PUT \
https://idp.cdq.com/_mock/apis/transformation-api/api-v1/datatransformationdefinitions/c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4 \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"imports": [
{
"id": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4"
}
],
"name": "My DTD",
"direction": "INBOUND",
"type": {
"name": "BUSINESS_PARTNER",
"technicalKey": "BUSINESS_PARTNER"
},
"mappings": [
{
"sourceAttributes": [
"businessPartner.record"
],
"sourceSelections": [
{
"selectionType": "CONCATENATION",
"value": ","
}
],
"targetAttributes": [
"businessPartner.externalId"
],
"targetTransformations": [
{
"constantValue": "constant",
"targetAttributes": [
"businessPartner.externalId"
],
"transformationName": "CAPITALIZE",
"defaultValue": "default",
"transformationType": "CAPITALIZE"
}
],
"ignoredValues": [
"ignored value"
]
}
],
"reverseMappings": [
{
"sourceAttributes": [
"businessPartner.record"
],
"sourceSelections": [
{
"selectionType": "CONCATENATION",
"value": ","
}
],
"targetAttributes": [
"businessPartner.externalId"
],
"targetTransformations": [
{
"constantValue": "constant",
"targetAttributes": [
"businessPartner.externalId"
],
"transformationName": "CAPITALIZE",
"defaultValue": "default",
"transformationType": "CAPITALIZE"
}
],
"ignoredValues": [
"ignored value"
]
}
],
"valueMappings": [
{
"sourceConditions": [
{
"sourceValue": "AU",
"sourceAttribute": "$.identifications[*].country.code",
"sourceRegex": "^GR\\..{1,}"
}
],
"sourceValue": "AE1",
"targetValue": "AE",
"targetAttribute": "$.identifications[*].country.code",
"sourceAttribute": "$.identifications[*].country.code",
"disabled": "false"
}
],
"values": [
{
"sourceValue": "AE1",
"sourceAttribute": "identifications[*].indentificationType.code"
}
],
"customTransformations": [
{
"name": "Code above.",
"code": "Code above.",
"language": "python"
}
]
}'OK
List of imported data transformation definitions.
Name of the Data Transformation Definition.
Direction of the Data Transformation Definition. Does not prevent usage of reverse transformation. This field is used by Transformation-aware endpoints to determine whether to use normal or reversed definition.
| Enum Value | Description |
|---|---|
| INBOUND | Indicates that target attributes correspond the the CDQ data model. |
| OUTBOUND | Indicates that source attributes correspond the the CDQ data model. |
Unique identifier for a data transformation definition.
Uniquely identifying ID of the workspace.
User or Client UUID which modified the resource.
Date of modification (ISO 8601-compliant).
Custom transformation in python or javascript code.
The code must define a function "transform" with one parameter "raw_data" of type string. The function must return either:
- a string
- a json object (dict in python, JSON object literal in javascript).
When returning a json object, it must follow the following structure:
{
"targetAttributePath": "value",
"targetAttributePath2": "value2"
"targetAttributePath3": null // Null (e.g., None, undefined) values are ignored
}If sourceAttribute is a list, then the raw_data parameter will contain a serialized json array of strings. For example, if sourceAttribute points to ["address.line1", "address.line2"], then raw_data will be "["address.line1","address.line2"]" rather than an array of strings.
The simplest transformation looks as follows:
def transform(raw_data):
return raw_dataTo make some operation on json following code should be applied:
import json
def transform(raw_data):
json_result = json.loads(raw_data)
return json_result["address"]The method def transform(raw_data) must always be provided. Feature is experimental and limited to CDQ organizations.
Enable this transformation by setting transformation type in targetTransformations to CUSTOM_TRANSFORMATION and fill transformationName with the name of the custom transformation.
{ "imports": [ { … } ], "name": "My DTD", "direction": "INBOUND", "type": { "name": "BUSINESS_PARTNER", "technicalKey": "BUSINESS_PARTNER" }, "mappings": [ { … } ], "reverseMappings": [ { … } ], "valueMappings": [ { … } ], "values": [ { … } ], "id": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4", "workspaceId": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4", "version": 1, "createdBy": "76248934691294444", "createdAt": "2020-08-31T16:47+00:00", "modifiedBy": "76248934691294444", "modifiedAt": "2020-08-31T16:47+00:00", "customTransformations": [ { … } ] }
- Mock server
https://idp.cdq.com/_mock/apis/transformation-api/api-v1/datatransformationdefinitions/{id}
- Production SOAP
https://api.corporate-data-league.ch/transformation-api/soap/v1/datatransformationdefinitions/{id}
- Production
https://api.corporate-data-league.ch/transformation-api/datatransformationdefinitions/{id}
curl -i -X DELETE \
https://idp.cdq.com/_mock/apis/transformation-api/api-v1/datatransformationdefinitions/c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4 \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'{ "id": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4" }
- Mock server
https://idp.cdq.com/_mock/apis/transformation-api/api-v1/public/datatransformationdefinitions/{id}
- Production SOAP
https://api.corporate-data-league.ch/transformation-api/soap/v1/public/datatransformationdefinitions/{id}
- Production
https://api.corporate-data-league.ch/transformation-api/public/datatransformationdefinitions/{id}
curl -i -X GET \
https://idp.cdq.com/_mock/apis/transformation-api/api-v1/public/datatransformationdefinitions/c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4 \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'OK
List of imported data transformation definitions.
Name of the Data Transformation Definition.
Direction of the Data Transformation Definition. Does not prevent usage of reverse transformation. This field is used by Transformation-aware endpoints to determine whether to use normal or reversed definition.
| Enum Value | Description |
|---|---|
| INBOUND | Indicates that target attributes correspond the the CDQ data model. |
| OUTBOUND | Indicates that source attributes correspond the the CDQ data model. |
Unique identifier for a data transformation definition.
Uniquely identifying ID of the workspace.
User or Client UUID which modified the resource.
{ "imports": [ { … } ], "name": "My DTD", "direction": "INBOUND", "type": { "name": "BUSINESS_PARTNER", "technicalKey": "BUSINESS_PARTNER" }, "mappings": [ { … } ], "reverseMappings": [ { … } ], "valueMappings": [ { … } ], "values": [ { … } ], "id": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4", "workspaceId": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4", "version": 1, "createdBy": "76248934691294444", "createdAt": "2020-08-31T16:47+00:00", "modifiedBy": "76248934691294444", "modifiedAt": "2020-08-31T16:47+00:00" }
List of imported data transformation definitions.
Name of the Data Transformation Definition.
Direction of the Data Transformation Definition. Does not prevent usage of reverse transformation. This field is used by Transformation-aware endpoints to determine whether to use normal or reversed definition.
| Enum Value | Description |
|---|---|
| INBOUND | Indicates that target attributes correspond the the CDQ data model. |
| OUTBOUND | Indicates that source attributes correspond the the CDQ data model. |
- Mock server
https://idp.cdq.com/_mock/apis/transformation-api/api-v1/public/datatransformationdefinitions/{id}
- Production SOAP
https://api.corporate-data-league.ch/transformation-api/soap/v1/public/datatransformationdefinitions/{id}
- Production
https://api.corporate-data-league.ch/transformation-api/public/datatransformationdefinitions/{id}
curl -i -X PUT \
https://idp.cdq.com/_mock/apis/transformation-api/api-v1/public/datatransformationdefinitions/c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4 \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"imports": [
{
"id": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4"
}
],
"name": "My DTD",
"direction": "INBOUND",
"type": {
"name": "BUSINESS_PARTNER",
"technicalKey": "BUSINESS_PARTNER"
},
"mappings": [
{
"sourceAttributes": [
"businessPartner.record"
],
"sourceSelections": [
{
"selectionType": "CONCATENATION",
"value": ","
}
],
"targetAttributes": [
"businessPartner.externalId"
],
"targetTransformations": [
{
"constantValue": "constant",
"targetAttributes": [
"businessPartner.externalId"
],
"transformationName": "CAPITALIZE",
"defaultValue": "default",
"transformationType": "CAPITALIZE"
}
],
"ignoredValues": [
"ignored value"
]
}
],
"reverseMappings": [
{
"sourceAttributes": [
"businessPartner.record"
],
"sourceSelections": [
{
"selectionType": "CONCATENATION",
"value": ","
}
],
"targetAttributes": [
"businessPartner.externalId"
],
"targetTransformations": [
{
"constantValue": "constant",
"targetAttributes": [
"businessPartner.externalId"
],
"transformationName": "CAPITALIZE",
"defaultValue": "default",
"transformationType": "CAPITALIZE"
}
],
"ignoredValues": [
"ignored value"
]
}
],
"valueMappings": [
{
"sourceConditions": [
{
"sourceValue": "AU",
"sourceAttribute": "$.identifications[*].country.code",
"sourceRegex": "^GR\\..{1,}"
}
],
"sourceValue": "AE1",
"targetValue": "AE",
"targetAttribute": "$.identifications[*].country.code",
"sourceAttribute": "$.identifications[*].country.code",
"disabled": "false"
}
],
"values": [
{
"sourceValue": "AE1",
"sourceAttribute": "identifications[*].indentificationType.code"
}
]
}'OK
List of imported data transformation definitions.
Name of the Data Transformation Definition.
Direction of the Data Transformation Definition. Does not prevent usage of reverse transformation. This field is used by Transformation-aware endpoints to determine whether to use normal or reversed definition.
| Enum Value | Description |
|---|---|
| INBOUND | Indicates that target attributes correspond the the CDQ data model. |
| OUTBOUND | Indicates that source attributes correspond the the CDQ data model. |
Unique identifier for a data transformation definition.
Uniquely identifying ID of the workspace.
User or Client UUID which modified the resource.
{ "imports": [ { … } ], "name": "My DTD", "direction": "INBOUND", "type": { "name": "BUSINESS_PARTNER", "technicalKey": "BUSINESS_PARTNER" }, "mappings": [ { … } ], "reverseMappings": [ { … } ], "valueMappings": [ { … } ], "values": [ { … } ], "id": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4", "workspaceId": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4", "version": 1, "createdBy": "76248934691294444", "createdAt": "2020-08-31T16:47+00:00", "modifiedBy": "76248934691294444", "modifiedAt": "2020-08-31T16:47+00:00" }
- Mock server
https://idp.cdq.com/_mock/apis/transformation-api/api-v1/public/datatransformationdefinitions/{id}
- Production SOAP
https://api.corporate-data-league.ch/transformation-api/soap/v1/public/datatransformationdefinitions/{id}
- Production
https://api.corporate-data-league.ch/transformation-api/public/datatransformationdefinitions/{id}
curl -i -X DELETE \
https://idp.cdq.com/_mock/apis/transformation-api/api-v1/public/datatransformationdefinitions/c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4 \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'{ "id": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4" }
- Mock server
https://idp.cdq.com/_mock/apis/transformation-api/api-v1/datatransformationdefinitions/{id}/versions/{version}
- Production SOAP
https://api.corporate-data-league.ch/transformation-api/soap/v1/datatransformationdefinitions/{id}/versions/{version}
- Production
https://api.corporate-data-league.ch/transformation-api/datatransformationdefinitions/{id}/versions/{version}
curl -i -X GET \
https://idp.cdq.com/_mock/apis/transformation-api/api-v1/datatransformationdefinitions/c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4/versions/1 \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'OK
List of imported data transformation definitions.
Name of the Data Transformation Definition.
Direction of the Data Transformation Definition. Does not prevent usage of reverse transformation. This field is used by Transformation-aware endpoints to determine whether to use normal or reversed definition.
| Enum Value | Description |
|---|---|
| INBOUND | Indicates that target attributes correspond the the CDQ data model. |
| OUTBOUND | Indicates that source attributes correspond the the CDQ data model. |
Custom transformation in python or javascript code.
The code must define a function "transform" with one parameter "raw_data" of type string. The function must return either:
- a string
- a json object (dict in python, JSON object literal in javascript).
When returning a json object, it must follow the following structure:
{
"targetAttributePath": "value",
"targetAttributePath2": "value2"
"targetAttributePath3": null // Null (e.g., None, undefined) values are ignored
}If sourceAttribute is a list, then the raw_data parameter will contain a serialized json array of strings. For example, if sourceAttribute points to ["address.line1", "address.line2"], then raw_data will be "["address.line1","address.line2"]" rather than an array of strings.
The simplest transformation looks as follows:
def transform(raw_data):
return raw_dataTo make some operation on json following code should be applied:
import json
def transform(raw_data):
json_result = json.loads(raw_data)
return json_result["address"]The method def transform(raw_data) must always be provided. Feature is experimental and limited to CDQ organizations.
Enable this transformation by setting transformation type in targetTransformations to CUSTOM_TRANSFORMATION and fill transformationName with the name of the custom transformation.
Unique identifier of Data Transformation Definition version.
Unique identifier for a Data Transformation Definition.
Version number of the configuration.
Uniquely identifying ID of the workspace.
{ "imports": [ { … } ], "name": "My DTD", "direction": "INBOUND", "type": { "name": "BUSINESS_PARTNER", "technicalKey": "BUSINESS_PARTNER" }, "mappings": [ { … } ], "reverseMappings": [ { … } ], "valueMappings": [ { … } ], "values": [ { … } ], "customTransformations": [ { … } ], "id": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4", "dataTransformationDefinitionId": "SAP.ODM", "version": 1, "workspaceId": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4", "createdBy": "76248934691294444", "createdAt": "2020-08-31T16:47+00:00" }
- Mock server
https://idp.cdq.com/_mock/apis/transformation-api/api-v1/public/datatransformationdefinitions/{id}/versions/{version}
- Production SOAP
https://api.corporate-data-league.ch/transformation-api/soap/v1/public/datatransformationdefinitions/{id}/versions/{version}
- Production
https://api.corporate-data-league.ch/transformation-api/public/datatransformationdefinitions/{id}/versions/{version}
curl -i -X GET \
https://idp.cdq.com/_mock/apis/transformation-api/api-v1/public/datatransformationdefinitions/c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4/versions/1 \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'OK
List of imported data transformation definitions.
Name of the Data Transformation Definition.
Direction of the Data Transformation Definition. Does not prevent usage of reverse transformation. This field is used by Transformation-aware endpoints to determine whether to use normal or reversed definition.
| Enum Value | Description |
|---|---|
| INBOUND | Indicates that target attributes correspond the the CDQ data model. |
| OUTBOUND | Indicates that source attributes correspond the the CDQ data model. |
Unique identifier of Data Transformation Definition version.
Unique identifier for a Data Transformation Definition.
Version number of the configuration.
Uniquely identifying ID of the workspace.
{ "imports": [ { … } ], "name": "My DTD", "direction": "INBOUND", "type": { "name": "BUSINESS_PARTNER", "technicalKey": "BUSINESS_PARTNER" }, "mappings": [ { … } ], "reverseMappings": [ { … } ], "valueMappings": [ { … } ], "values": [ { … } ], "id": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4", "dataTransformationDefinitionId": "17def3cf51b6-abf0-4f8e-9a20-cd83bab2", "version": 1, "workspaceId": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4", "createdBy": "76248934691294444", "createdAt": "2020-08-31T16:47+00:00" }