Skip to content

Data Exchange API (5)

This API provides services to upload, manipulate and download businesspartner data in the CDL Cloud.

Languages
Servers
Mock server

https://idp.cdq.com/_mock/apis/data-exchange-api/api-v5/

Production SOAP

https://api.corporate-data-league.ch/data-exchange/soap/v5/

Production

https://api.corporate-data-league.ch/data-exchange/

Seed Updates

Manages operations such as creating, updating, or transforming Business Partner data to ensure that the information is current and accurate.

Operations

Analytics

Provides functionalities for analyzing and processing Business Partner data, enabling users to gain insights and perform various analytical operations on the data.

Business Partner Storages

Provides functionalities for creating, retrieving, updating and deleting Business Partner storage, as well as managing associated data sources and data monitors.

Operations

Business Partners

Provides functionalities for creating, retrieving, updating, and deleting Business Partner records, as well as performing various operations such as lookup and upsert.

Operations

Data Import

Provides functionalities for uploading external data and enabling users to enhance and update their Business Partner records with new information.

Operations

Data Mapping

Provides functionalities for defining and managing data mappings, enabling users to transform and map raw data into structured formats suitable for processing and analysis.

Operations

Data Monitors

Provides functionalities for creating, retrieving, updating and deleting data monitors.

Operations

Data Transformation

Provides functionalities for converting raw data into structured formats.

Operations

DNB Storages

Provides functionalities for creating, retrieving, updating and deleting DNB storage, as well as managing associated data sources and data monitors.

Operations

Files

Provides functionalities for uploading, downloading and deleting files.

Operations

Subscriptions

Provides functionalities for managing subscriptions.

Operations

Data Mappers

Provides functionalities for transforming raw data into structured Business Partner data using predefined data mapper definitions. This allows users to convert various data formats into a standardized format suitable for processing and analysis.

Operations

Relations

Manages relationships between Business Partners.

Operations

Update Classification

Operations

Event Stores

Operations

Business Partner Storages (None Public)

Operations

Restart Monitor Job

Operations

Cache

Operations

Configuration

Operations

Event Store

Operations

Create Events

Request

Create events for already existing Business Partners. The preferred way of turning on the UPDATES feature to the storage.

Security
basicAuth
Path
storageIdstring(BusinessPartnerStorageId)required

Unique identifier of the Storage.

Example: 72d6900fce6b326088f5d9d91049e3e6
Headers
X-Credential-Usernamestringrequired

Username that is passed as header parameter with the name X-Credential-Username. The header can take form of:

  • username (e.g. "lukaszmichta")
  • user id (e.g. "87b1bdb1-ba87-4522-b363-c5a0e6e917b3")
Example: 87b1bdb1-ba87-4522-b363-c5a0e6e917b3
Bodyapplication/jsonrequired

BusinessPartnerEventCreatesRequest

businessPartnersArray of objects(BusinessPartner)[ 1 .. 500 ] itemsrequired

List of Business Partners.

businessPartners[].​idstring(BusinessPartnerId)

A CDQ ID identifies a business partner uniquely in the context of the Corporate Data League.

Example: "63e635235c06b7396330fe40"
businessPartners[].​createdAtstring(CreatedAt)

Date of creation (ISO 8601-compliant).

Example: "2020-08-31T16:47+00:00"
businessPartners[].​modifiedAtstring(ModifiedAt)

Date of modification (ISO 8601-compliant).

Example: "2020-08-31T16:47+00:00"
businessPartners[].​externalIdstring(BusinessPartnerExternalId)

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.

Example: "The ID managed in the customer's SAP systems."
businessPartners[].​dataSourcestring(BusinessPartnerDataSource)

Name or ID of a data source. Reflects the associated external system where the record originates from.

Example: "\"CUSTOM_DATA_SOURCE\" or \"648824a691d8d2503d65103e\""
businessPartners[].​disclosedboolean(BusinessPartnerDisclosed)

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.

Example: "false"
businessPartners[].​updateMonitoringboolean(BusinessPartnerUpdateMonitoring)

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.

Example: "true"
businessPartners[].​updateCommercialMonitoringArray of objects(BusinessPartnerUpdateCommercialMonitoring)

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/undefined updateCommercialMonitoring results in protection of this setup from the previous upsert. Empty or filled updateCommercialMonitoring results 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.

businessPartners[].​metadataobject(BusinessPartnerMetadata)

Information about results of Business Partner processing.

businessPartners[].​recordstring(BusinessPartnerRecord)

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.

Example: "{\"name\": \"BUSINESSPARTNER_NAME\", ...}"
businessPartners[].​additionalInformationArray of objects(AdditionalInformation)

List of additional information.

businessPartners[].​namesArray of objects(Name)

List of names.

businessPartners[].​legalFormobject(LegalForm)

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.).

businessPartners[].​identifiersArray of objects(Identifier)

List of Identifiers.

businessPartners[].​categoriesArray of objects(BusinessPartnerCategory)

List of Categories.

businessPartners[].​statusobject(BusinessPartnerStatus)

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).

businessPartners[].​profileobject(PartnerProfile)

Additional documentation can be found here.

businessPartners[].​relationsArray of objects(BusinessPartnerRelation)

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.

businessPartners[].​typesArray of objects(BusinessPartnerType)

List of Types.

businessPartners[].​addressesArray of objects(Address)

List of Addresses.

businessPartners[].​bankAccountsArray of objects(BankAccount)

List of Bank Accounts.

businessPartners[].​externalContextobject(ExternalContext)

Represents additional context information that is external to the main Business Partner data.

debugInfostring

This is just a reference implementation how to structure external service responses. Usually this should be hidden behind a feature SHOW_DEBUG_INFO.

Example: "SHOW_DEBUG_INFO"
featuresOnArray of strings(EventCreateFeatureParam)

Features to be activated during the upsert.

Items Enum ValueDescription
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.

Example: ["INITIALIZE"]
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"
    ]
  }'

Responses

OK

Bodyapplication/json
numberOfCreatedinteger

Number of created Business Partners Events.

Example: "10"
numberOfUpdatedinteger

Number of updated Business Partners Events.

Example: "10"
numberOfDeletedinteger

Number of deleted Business Partners Events.

Example: "10"
Response
application/json
{ "numberOfCreated": "10", "numberOfUpdated": "10", "numberOfDeleted": "10" }

Business Partner Flatten events

Request

Flatten events with provided conditions. NOTE: ignoring provenances!

Security
basicAuth
Path
storageIdstring(BusinessPartnerStorageId)required

Unique identifier of the Storage.

Example: 72d6900fce6b326088f5d9d91049e3e6
Headers
X-Credential-Usernamestringrequired

Username that is passed as header parameter with the name X-Credential-Username. The header can take form of:

  • username (e.g. "lukaszmichta")
  • user id (e.g. "87b1bdb1-ba87-4522-b363-c5a0e6e917b3")
Example: 87b1bdb1-ba87-4522-b363-c5a0e6e917b3
Bodyapplication/jsonrequired

BusinessPartnerEventFlattenRequest

businessPartnerIdsArray of strings(BusinessPartnerId)[ 1 .. 500 ] items

List of Business Partner IDs.

Example: ["63e635235c06b7396330fe40"]
featuresOnArray of strings(BusinessPartnerEventFlattenFeatureParam)

Features to be activated during the flattening.

Items Enum ValueDescription
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.

Example: ["DELETE_WHEN_DELETED"]
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"
    ]
  }'

Responses

OK

CDQ Community Pool

Operations