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

Update Business Partner Data Source

Request

Update the data source of a Business Partner in the Business Partner Storage. NOTE: The endpoint works only for CDQ.POOL.

Security
basicAuth
Path
storageIdstring(BusinessPartnerStorageId)required

Unique identifier of the Storage.

Example: 72d6900fce6b326088f5d9d91049e3e6
businesspartnerIdstring(BusinessPartnerId)required

Unique identifier of the Business Partner.

Example: 63e635235c06b7396330fe40
Bodyapplication/jsonrequired
dataSourceIdstring(BusinessPartnerStorageDataSourceId)

Unique identifier for a Data Source of the Storage.

Example: "648824a691d8d2503d65103e"
curl -i -X PUT \
  -u <username>:<password> \
  https://idp.cdq.com/_mock/apis/data-exchange-api/api-v5/storages/72d6900fce6b326088f5d9d91049e3e6/businesspartners/63e635235c06b7396330fe40/datasource \
  -H 'Content-Type: application/json' \
  -d '{
    "dataSourceId": "648824a691d8d2503d65103e"
  }'

Responses

OK

Bodyapplication/json
idstring(BusinessPartnerId)

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

Example: "63e635235c06b7396330fe40"
createdAtstring(CreatedAt)

Date of creation (ISO 8601-compliant).

Example: "2020-08-31T16:47+00:00"
modifiedAtstring(ModifiedAt)

Date of modification (ISO 8601-compliant).

Example: "2020-08-31T16:47+00:00"
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."
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\""
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"
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"
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.

metadataobject(BusinessPartnerMetadata)

Information about results of Business Partner processing.

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\", ...}"
additionalInformationArray of objects(AdditionalInformation)

List of additional information.

namesArray of objects(Name)

List of names.

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

identifiersArray of objects(Identifier)

List of Identifiers.

categoriesArray of objects(BusinessPartnerCategory)

List of Categories.

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

profileobject(PartnerProfile)

Additional documentation can be found here.

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.

typesArray of objects(BusinessPartnerType)

List of Types.

addressesArray of objects(Address)

List of Addresses.

bankAccountsArray of objects(BankAccount)

List of Bank Accounts.

externalContextobject(ExternalContext)

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

Response
application/json
{ "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": [ {} ], "metadata": { "lastUpdatedAt": "2020-08-31T16:47+00:00", "lastSyncAt": "2020-02-11T00:00:00Z", "sharingStatus": {}, "identityLinks": [], "logResultStatuses": [], "decisionLogResult": {} }, "record": "{\"name\": \"BUSINESSPARTNER_NAME\", ...}", "additionalInformation": [ {} ], "names": [ {} ], "legalForm": { "name": "Aktiengesellschaft", "url": "https://meta.cdq.com/Business_partner/legal_form", "technicalKey": "DE_9866", "language": {}, "mainAbbreviation": "AG", "categories": [] }, "identifiers": [ {} ], "categories": [ {} ], "status": { "type": {}, "officialDenotation": "Good Standing", "validFrom": "2022-02-26", "validUntil": "2022-02-26" }, "profile": { "minorityIndicator": {}, "classifications": [], "phoneNumbers": [], "websites": [], "contactEmails": [], "tags": [], "vatPayerStatus": {}, "hcpProfile": {} }, "relations": [ {} ], "types": [ {} ], "addresses": [ {} ], "bankAccounts": [ {} ], "externalContext": { "identifiers": [] } }

Start a Toggle Update Monitoring Job

Request

To toggle update monitoring on multiple BusinessPartners, the permission can be changed in two ways:

  1. A complete Data Source identified by the parameter 'dataSourceId'
  2. Or for a certain Country of a Data Source. This requires both parameters 'dataSourceId' and 'countryShortName' to be set

After the job is finished, the following actions are taken for Business Partners which match the dataSourceId and countryShortName criteria:

  • businessPartner.updateMonitoring fields takes a value of ToggleUpdateMonitoringJobRequest#enable
  • if enable is true then:
  • if enable is false then:
    • all existing links of a Business Partner to Business Partners in non-commercial reference data sources are removed
    • updates are no more propagated for this Business Partner
    • linkage is not performed for any non-commercial reference data source

For toggling via a list of Business Partners, identified by their ID, please go to Toggle Update Monitoring of Business Partners.

Security
basicAuth
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
enableboolean(ToggleUpdateMonitoringRequestEnable)required

Parameter to describe if the Business Partners should be activated for update monitoring (true) or deactivated (false) for non-commercial reference data sources.

Example: "true"
storageIdstring(BusinessPartnerStorageId)required

Unique identifier of the Storage.

Example: "72d6900fce6b326088f5d9d91049e3e6"
namestring(JobName)

Name of a Job.

Example: "Process vendor data."
descriptionstring(JobDescription)

Detailed description of a Job.

Example: "I started this job to improve quality of our data."
dataSourceIdstring(BusinessPartnerStorageDataSourceId)required

Unique identifier for a Data Source of the Storage.

Example: "648824a691d8d2503d65103e"
countryShortNamestring(CountryShortName)

Country code (ISO 3166-1 alpha-2).

Example: "CH"
startAfterstring(StartAfter)

The ID which is used to read the page.

Example: "5712566172571652"
batchSizeinteger[ 1 .. 500 ]

Defines the number of records that are processed at once.

Default 500
Example: "100"
curl -i -X POST \
  -u <username>:<password> \
  https://idp.cdq.com/_mock/apis/data-exchange-api/api-v5/public/jobs/toggleUpdateMonitoringJobs \
  -H 'Content-Type: application/json' \
  -H 'X-Credential-Username: 87b1bdb1-ba87-4522-b363-c5a0e6e917b3' \
  -d '{
    "enable": "true",
    "storageId": "72d6900fce6b326088f5d9d91049e3e6",
    "name": "Process vendor data.",
    "description": "I started this job to improve quality of our data.",
    "dataSourceId": "648824a691d8d2503d65103e",
    "countryShortName": "CH",
    "startAfter": "5712566172571652",
    "batchSize": "100"
  }'

Responses

OK

Bodyapplication/json
idstring(JobId)

Unique identifier of a job.

Example: "35f23c03-1c22-45fe-9484-3ffe769325de"
createdBystring(CreatedBy)

Creator of a resource.

Example: "76248934691294444"
createdAtstring(CreatedAt)

Date of creation (ISO 8601-compliant).

Example: "2020-08-31T16:47+00:00"
modifiedAtstring(ModifiedAt)

Date of modification (ISO 8601-compliant).

Example: "2020-08-31T16:47+00:00"
progressinteger(JobProgress)[ 0 .. 100 ]

Progress (%) of the job.

Example: "77"
statusstring(JobStatus)

Job execution status.

Enum ValueDescription
ARCHIVED

Job has been archived.

UNKNOWN

Job becomes in unknown status.

CREATED

Job has been created.

PERSISTED

Job metadata has been persisted.

SCHEDULED

Job has been scheduled for execution.

WAITING

Job is waiting for being scheduled.

COULDNT_START

Job could not be started.

RUNNING

Job is being executed.

FINISHED

Job has finished.

DIED

Job was scheduled and started running but died unexpectedly.

Example: "RUNNING"
statusMessagestring(JobStatusMessage)

Additional information to explain the status.

Example: "The job failed because storage is empty."
enableboolean(ToggleUpdateMonitoringRequestEnable)

Parameter to describe if the Business Partners should be activated for update monitoring (true) or deactivated (false) for non-commercial reference data sources.

Example: "true"
storageIdstring(BusinessPartnerStorageId)

Unique identifier of the Storage.

Example: "72d6900fce6b326088f5d9d91049e3e6"
dataSourceIdstring(BusinessPartnerStorageDataSourceId)

Unique identifier for a Data Source of the Storage.

Example: "648824a691d8d2503d65103e"
countryShortNamestring(CountryShortName)

Country code (ISO 3166-1 alpha-2).

Example: "CH"
Response
application/json
{ "id": "35f23c03-1c22-45fe-9484-3ffe769325de", "createdBy": "76248934691294444", "createdAt": "2020-08-31T16:47+00:00", "modifiedAt": "2020-08-31T16:47+00:00", "progress": "77", "status": "RUNNING", "statusMessage": "The job failed because storage is empty.", "enable": "true", "storageId": "72d6900fce6b326088f5d9d91049e3e6", "dataSourceId": "648824a691d8d2503d65103e", "countryShortName": "CH" }

Poll Toggle Update Monitoring Job

Request

Poll endpoint for a job created in POST toggleUpdateMonitoringJobs.

Security
basicAuth
Path
jobIdstring(JobId)required

Unique identifier of a job.

Example: 35f23c03-1c22-45fe-9484-3ffe769325de
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
curl -i -X GET \
  -u <username>:<password> \
  https://idp.cdq.com/_mock/apis/data-exchange-api/api-v5/public/jobs/toggleUpdateMonitoringJobs/35f23c03-1c22-45fe-9484-3ffe769325de \
  -H 'X-Credential-Username: 87b1bdb1-ba87-4522-b363-c5a0e6e917b3'

Responses

OK

Bodyapplication/json
jobobject(ToggleUpdateMonitoringJob)

Result of the Toggle Update Monitoring job.

statusstring

Status:

  • OK - Toggle Update Monitoring Job has been fetched successfully
  • NOT_FOUND - Toggle Update Monitoring Job with that ID has not been found
Example: "OK"
Response
application/json
{ "job": { "id": "35f23c03-1c22-45fe-9484-3ffe769325de", "createdBy": "76248934691294444", "createdAt": "2020-08-31T16:47+00:00", "modifiedAt": "2020-08-31T16:47+00:00", "progress": "77", "status": "RUNNING", "statusMessage": "The job failed because storage is empty.", "enable": "true", "storageId": "72d6900fce6b326088f5d9d91049e3e6", "dataSourceId": "648824a691d8d2503d65103e", "countryShortName": "CH" }, "status": "OK" }

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

CDQ Community Pool

Operations