This API provides services to upload, manipulate and download businesspartner data in the CDL Cloud.
Data Exchange API (5)
https://idp.cdq.com/_mock/apis/data-exchange-api/api-v5/
https://api.corporate-data-league.ch/data-exchange/soap/v5/
https://api.corporate-data-league.ch/data-exchange/
BusinessPartnerEventCreatesRequest
List of Business Partners.
A CDQ ID identifies a business partner uniquely in the context of the Corporate Data League.
Date of creation (ISO 8601-compliant).
Date of modification (ISO 8601-compliant).
Arbitrary identifier type to mark customer IDs that are "external" from CDQ's perspective. This is the identifier a customer provides to identify its records.
Name or ID of a data source. Reflects the associated external system where the record originates from.
A flag to indicate whether the Business Partner should participate in the sharing or not. If 'true' this Business Partner might be used to create a new entry or update an existing entry in the community pool. Otherwise, it will not be considered for the sharing process. For more details, you can read about Sharing Scopes.
A flag to indicate whether the Business Partner should receive updates from non-commercial Reference Data Sources or not. If 'true' this Business Partner will receive updates since the change from 'false'. If 'false' this Business Partner will not receive any new updates since the change. If not provided, the previous value will not be changed. By default, Update Monitoring is activated.
Enabling update commercial monitoring has 2 possibilities:
- via Data Mapper Definition: include mapping of updateCommercialMonitoring in the Data Mapper Definition
- via direct Business Partner model upload: fill complete Business Partner model and
updateCommercialMonitoring. Null/undefinedupdateCommercialMonitoringresults in protection of this setup from the previous upsert. Empty or filledupdateCommercialMonitoringresults in data transition that may link or unlink to / from respective commercial Reference Data Source
Note: follow the approach that is currently used in your storage integration.
Information about results of Business Partner processing.
Stringified JSON of an individual Business Partner record. Characters: backslash \ and double quote " must be escaped (respectively: \\\\ and \"). Fields containing . are unallowed. Maximum size: 15MB.
List of additional information.
The legal form of a business partner/type/legal entity is the form it takes in the eyes of the law governing it. The legal form of a company is the general type it may legally use to identify itself according to the local, regional, national, or international law governing it. This is normally reflected in the ending abbreviation after the company's name (e.g. AG, Inc., LLC, S.A.).
Describes the status of a business partner with respect to its level of activity (e.g. out of business) or legally relevant conditions (e.g. in liquidation).
Additional documentation can be found here.
List of Relations. Insert or update Business Partner Relations. Relations that are not listed in the request and start in the current business partner, are marked as INACTIVE.
In D&B storages, only not listed relations of class D&B Hierarchy and one of type [https://meta.cdq.com/Business_partner/relation/type/direct_legal_relation](Direct Legal Relation), [https://meta.cdq.com/Business_partner/relation/type/domestic_legal_ultimate_relation](Domestic Legal Ultimate Relation) or [https://meta.cdq.com/Business_partner/relation/type/global_legal_ultimate_relation](Global Legal Ultimate Relation), are marked as INACTIVE.
This is just a reference implementation how to structure external service responses. Usually this should be hidden behind a feature SHOW_DEBUG_INFO.
Features to be activated during the upsert.
| Items Enum Value | Description |
|---|---|
| INITIALIZE | Used only when the Business Partner Storage has never had UPDATES feature. Creates only BusinessPartnerCreated events without checking for existing BusinessPartnerEvents. Goal is to speed up setting UPDATES feature. |
| NO_PERSISTENCE | Do not persist events. Execution is performed for test and debug purposes to check e.g. if no events are missing. |
- Mock server
https://idp.cdq.com/_mock/apis/data-exchange-api/api-v5/v4/storages/{storageId}/events
- Production SOAP
https://api.corporate-data-league.ch/data-exchange/soap/v5/v4/storages/{storageId}/events
- Production
https://api.corporate-data-league.ch/data-exchange/v4/storages/{storageId}/events
curl -i -X POST \
-u <username>:<password> \
https://idp.cdq.com/_mock/apis/data-exchange-api/api-v5/v4/storages/72d6900fce6b326088f5d9d91049e3e6/events \
-H 'Content-Type: application/json' \
-H 'X-Credential-Username: 87b1bdb1-ba87-4522-b363-c5a0e6e917b3' \
-d '{
"businessPartners": [
{
"id": "63e635235c06b7396330fe40",
"createdAt": "2020-08-31T16:47+00:00",
"modifiedAt": "2020-08-31T16:47+00:00",
"externalId": "The ID managed in the customer'\''s SAP systems.",
"dataSource": "\"CUSTOM_DATA_SOURCE\" or \"648824a691d8d2503d65103e\"",
"disclosed": "false",
"updateMonitoring": "true",
"updateCommercialMonitoring": [
{
"type": {
"technicalKey": "DNB"
},
"value": "true"
}
],
"metadata": {
"lastUpdatedAt": "2020-08-31T16:47+00:00",
"lastSyncAt": "2020-02-11T00:00:00Z",
"sharingStatus": {
"status": "SHARED_WITH_NO_MATCH",
"description": "UNDER_CONSIDERATION: The business partner will be considered for the sharing process."
},
"identityLinks": [
{
"linkId": "6465f2492bdcd350159a79d6",
"cdqId": "VIES:PL8660001429",
"addressId": "0",
"externalAddressId": "123456789",
"status": {
"details": [
null
]
}
}
],
"logResultStatuses": [
{
"processingLogId": "CURATION_LOG",
"triggerProcessedAt": "2020-08-31T16:47+00:00",
"triggerType": {
"name": "CREATED",
"technicalKey": "CREATED"
},
"trigger": {
"processedAt": "2020-08-31T16:47+00:00",
"provenance": {},
"type": {}
},
"jobProcessedAt": "2020-08-31T16:47+00:00",
"processedAt": "2020-08-31T16:47+00:00",
"status": "INFO",
"description": "Validation Level",
"processingStatus": {
"technicalKey": "IN_PROGRESS",
"modifiedAt": "2020-08-31T16:47+00:00"
},
"previousProcessingStatus": {
"technicalKey": "IN_PROGRESS",
"modifiedAt": "2020-08-31T16:47+00:00"
}
}
],
"decisionLogResult": {
"reviewStatus": "REVIEWED",
"naturalPersonsReviewStatus": "REVIEWED",
"duplicatesReviewStatus": "REVIEWED"
}
},
"record": "{\"name\": \"BUSINESSPARTNER_NAME\", ...}",
"additionalInformation": [
{
"key": "KEY",
"value": "1"
}
],
"names": [
{
"type": {
"url": "https://meta.cdq.com/Business_partner/name/type",
"name": "Local Name",
"technicalKey": "LOCAL"
},
"value": "Corporate Data Quality AG",
"shortName": "CDQ AG",
"language": {
"name": "German",
"technicalKey": "DE"
},
"details": [
{
"value": "Corporate Data Quality AG - Marketing Department",
"type": {}
}
]
}
],
"legalForm": {
"name": "Aktiengesellschaft",
"url": "https://meta.cdq.com/Business_partner/legal_form",
"technicalKey": "DE_9866",
"language": {
"name": "German",
"technicalKey": "DE"
},
"mainAbbreviation": "AG",
"categories": [
{
"name": "Limited Liability Company",
"shortName": "LLC",
"url": "https://meta.cdq.com/Business_partner/legal_form/category/technical_key/LF001",
"technicalKey": "LIMITED"
}
]
},
"identifiers": [
{
"type": {
"url": "https://meta.cdq.com/Business_partner/identifier/type",
"name": "CH_VAT_ID",
"technicalKey": "CH_VAT_ID"
},
"value": "CHE-218.608.886 HR/MWST",
"issuingBody": {
"name": "Amtsgericht Aachen",
"url": "https://meta.cdq.com/Business_partner/identifier/issuing_body",
"technicalKey": "Amtsgericht Aachen",
"jurisdiction": {
"country": {}
}
},
"status": {
"name": "ACTIVE",
"technicalKey": "ACTIVE"
}
}
],
"categories": [
{
"name": "Hotel",
"url": "https://meta.cdq.com/Business_partner/category",
"technicalKey": "HOTEL"
}
],
"status": {
"type": {
"name": "In Liquidation",
"url": "https://meta.cdq.com/Business_partner/status/type",
"technicalKey": "IN_LIQUIDATION"
},
"officialDenotation": "Good Standing",
"validFrom": "2022-02-26",
"validUntil": "2022-02-26"
},
"profile": {
"minorityIndicator": {
"value": "Social enterprise"
},
"classifications": [
{
"value": "Manufacture of pesticides and other agrochemical products.",
"code": "20.20Z",
"type": {
"name": "NAF 2003",
"url": "https://meta.cdq.com/Business_partner/partner_profile/classification/type",
"technicalKey": "NAF_2003"
}
}
],
"phoneNumbers": [
{
"countryPrefix": "+41",
"number": "71 571 10 40",
"type": {
"name": "FAX",
"url": "https://meta.cdq.com/Business_partner/partner_profile/phone_number/type",
"technicalKey": "FAX"
},
"value": "+41 71 571 10 40"
}
],
"websites": [
{
"url": "https://cdq.com",
"type": {
"name": "Corporate Website",
"url": "https://meta.cdq.com/Business_Partner/partner_profile/website/type",
"technicalKey": "WEBSITE_TYPE_CORPORATE"
}
}
],
"contactEmails": [
{
"value": "developer-portal@cdq.com"
}
],
"tags": [
{
"value": "Warehouse",
"type": {
"technicalKey": "WAREHOUSE"
}
}
],
"vatPayerStatus": {
"publicationDate": "2020-07-21T17:32:28Z",
"status": {
"name": "RELIABLE",
"technicalKey": "VAT_PAYER_STATUS"
},
"registrationAuthority": {
"registrationAuthorityId": "RA000009",
"registrationAuthorityEntityId": "RA000009",
"otherRegistrationAuthorityId": "RA000009"
}
},
"hcpProfile": {
"generalLicense": {
"professionType": {
"name": "Doctor",
"url": "https://meta.cdq.com/Business_partner/partner_profile/hcp_profile/general_license/profession_type/technical_key",
"technicalKey": "DOCTOR"
},
"licenseStatus": {
"name": "Granted",
"url": "https://meta.cdq.com/Business_partner/partner_profile/hcp_profile/general_license/license_status/technical_key",
"technicalKey": "GRANTED"
}
},
"operationalPermissions": [
{
"issuingAuthority": "Swiss Medical Association",
"permissionStatus": {},
"activityStatus": {},
"practiceLocations": [
null
]
}
]
}
},
"relations": [
{
"startedAt": "2019-08-31T16:47+00:00",
"endedAt": "2019-08-31T16:47+00:00",
"type": {
"name": "Commercial ultimate",
"technicalKey": "COMMERCIAL_ULTIMATE",
"url": "https://meta.cdq.com/Business_partner/relation/type"
},
"class": {
"name": "CDQ Hierarchy",
"technicalKey": "BUSINESS_PARTNER_RELATION_CLASS_CDQ_HIERARCHY",
"url": "https://meta.cdq.com/Business_partner/relation/class"
},
"startNode": {
"externalId": "The ID managed in the customer'\''s SAP systems.",
"dataSourceId": "648824a691d8d2503d65103e"
},
"endNode": {
"externalId": "The ID managed in the customer'\''s SAP systems.",
"dataSourceId": "648824a691d8d2503d65103e"
},
"deactivatedAt": "2019-08-31T16:47+00:00"
}
],
"types": [
{
"name": "Legal Entity",
"url": "https://meta.cdq.com/Business_partner/type",
"technicalKey": "LEGAL_ENTITY"
}
],
"addresses": [
{
"id": "0001",
"externalId": "1",
"cdqId": "CDQID-123456789",
"version": {
"language": {
"name": "German",
"technicalKey": "DE"
},
"characterSet": {
"name": "International",
"technicalKey": "INTERNATIONAL"
}
},
"identifyingName": {
"value": "John Doe"
},
"careOf": {
"value": "CDQ GmbH c/o Product Department"
},
"contexts": [
{
"value": "Production hall 7, Storage field 8."
}
],
"country": {
"shortName": "CH",
"value": "Switzerland"
},
"administrativeAreas": [
{
"value": "Sankt Gallen",
"shortName": "SG",
"isoCode": "CH-SG",
"type": {},
"language": {}
}
],
"postCodes": [
{
"value": "9000",
"type": {}
}
],
"localities": [
{
"type": {},
"shortName": "St. Gallen",
"value": "Sankt Gallen",
"language": {}
}
],
"thoroughfares": [
{
"type": {},
"shortName": "Lukasstr. 4",
"number": "4",
"value": "Lukasstraße 4",
"name": "Lukasstraße",
"direction": "221-bis Baker Street, North",
"language": {}
}
],
"premises": [
{
"value": "Lukasstraße 4",
"shortName": "Lukasstr. 4",
"number": "4",
"type": {},
"language": {}
}
],
"postalDeliveryPoints": [
{
"type": {},
"shortName": "St Gallen, Postfach 460",
"number": "460",
"value": "Postfach",
"language": {}
}
],
"geographicCoordinates": {
"latitude": "47.439549",
"longitude": "9.395275"
},
"types": [
{
"name": "Legal Address",
"url": "https://meta.cdq.com/Address/type",
"technicalKey": "LEGAL_ADDRESS"
}
]
}
],
"bankAccounts": [
{
"internationalBankAccountIdentifier": "CH8800781619278412000",
"internationalBankIdentifier": "KBSGCH22XXX",
"nationalBankAccountIdentifier": "619278412000",
"nationalBankIdentifier": "00781",
"countryCode": "DE",
"vendorPaymentSummary": {
"firstPaymentDate": "2020-08-31T16:47+00:00",
"lastPaymentDate": "2020-08-31T16:47+00:00",
"numberOfPayments": "1"
}
}
],
"externalContext": {
"identifiers": [
{
"value": "7250017031",
"type": {
"technicalKey": "KUNNR"
}
}
]
}
}
],
"debugInfo": "SHOW_DEBUG_INFO",
"featuresOn": [
"INITIALIZE"
]
}'{ "numberOfCreated": "10", "numberOfUpdated": "10", "numberOfDeleted": "10" }
BusinessPartnerEventFlattenRequest
List of Business Partner IDs.
Features to be activated during the flattening.
| Items Enum Value | Description |
|---|---|
| DELETE_WHEN_DELETED | Deletes all events of a Business Partner if a Business Partner doesn't exist anymore. |
| FLATTEN_ALL_UPDATED_TO_ONE_LATEST | Flattens all update events to one with the date of the latest update event. |
| FLATTEN_ALL_EVENTS_TO_CREATED_WITH_LATEST_DATE | Flattens all events to one created with the date of the latest update event. |
| FLATTEN_ALL_EVENTS_TO_CREATED_WITH_LATEST_DATE_OR_REBUILD_CREATED | Flattens all events to one created even if there is only one created, with the date of the latest update event or created event. |
| FLATTEN_OVER_6_MONTHS | Flatten all events over 6 months. |
- Mock server
https://idp.cdq.com/_mock/apis/data-exchange-api/api-v5/v4/storages/{storageId}/events/flatten
- Production SOAP
https://api.corporate-data-league.ch/data-exchange/soap/v5/v4/storages/{storageId}/events/flatten
- Production
https://api.corporate-data-league.ch/data-exchange/v4/storages/{storageId}/events/flatten
curl -i -X POST \
-u <username>:<password> \
https://idp.cdq.com/_mock/apis/data-exchange-api/api-v5/v4/storages/72d6900fce6b326088f5d9d91049e3e6/events/flatten \
-H 'Content-Type: application/json' \
-H 'X-Credential-Username: 87b1bdb1-ba87-4522-b363-c5a0e6e917b3' \
-d '{
"businessPartnerIds": [
"63e635235c06b7396330fe40"
],
"featuresOn": [
"DELETE_WHEN_DELETED"
]
}'