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

CDQ Community Pool

Operations

List Community Pool Updates

Request

Note: This endpoint is not yet operational and only used for pre-documentation purposes.

Example Response:

{
   "values": [
      {
         "businessPartner": {
            "id": "123456",
            "externalId": "EXTID-86",
            ...,
            "record": "{<JSON>}"
         },
         "changeSet": [
            {
               "modifiedAt": "2007-08-31T16:47",
               "propertyChanges": [
                  {
                     "newContent": "AAB",
                     "previousContent": "XYZ",
                     "changeType": "MODIFIED",
                     "changeClassification": "MAJOR",
                     "provenance": {
                        "name": "Supplier Gateway",
                        "technicalKey": "SGW"
                     },
                     "property": {
                        "name": "Minority Indicator Value",
                        "contentSelector": "$.profile.minorityIndicator.value",
                        "technicalKey": "MINORITY_INDICATOR_VALUE"
                        "parentConcept": {
                           "name": "Minority Indicator",
                           "technicalKey": "MINORITY_INDICATOR"
                        }
                     }
                  },
                  {
                     "newContent": "CDQ AG",
                     "previousContent": "CDQ",
                     "changeType": "MODIFIED",
                     "changeClassification": "MAJOR",
                     "property": {
                        "name": "Name Value",
                        "contentSelector": "$.names[type.technicalKey=LOCAL].value",
                        "technicalKey": "NAME_VALUE"
                        "parentConcept": {
                           "name": "Name",
                           "technicalKey": "NAME"
                        },
                        "instanceSelectors": [
                          {
                            "key": "type.technicalKey",
                            "value": "LOCAL"
                          }
                        ]
                     }
                  }
               ]
            }
         ]
      }
   ]
}
Security
basicAuth
Query
startAfterstring

Only items with an ID greater than the given one will be retrieved.

When nextStartAfter provided in the response, should be used instead of the ID as an indicator for a next page.

Example: startAfter=5712566172571652
limitinteger(int32)>= 1

Number of items to be returned on the page.

Default 500
Example: limit=100
affectedConceptsArray of strings(BusinessPartnerConceptParam)

Only show updates which affect these concepts

Items Enum ValueDescription
NAME

Name of the Business Partner.

IDENTIFIER

Identifier of the Business Partner.

LEGAL_FORM

Legal form of the Business Partner.

MINORITY_INDICATOR

Minority indicator of the Business Partner.

STATUS

Status of the Business Partner.

ADDRESS

Address of the Business Partner.

COUNTRY

Country of the Business Partner.

ADMINISTRATIVE_AREA

Administrative area of the Business Partner.

POST_CODE

Post code of the Business Partner.

LOCALITY

Locality of the Business Partner.

Example: affectedConcepts=MINORITY_INDICATOR
affectedPropertiesArray of strings(BusinessPartnerPropertyParam)

Only show updates which affect these properties

Items Enum ValueDescription
NAME_VALUE

Value of Name of the Business Partner.

IDENTIFIER_VALUE

Value of Identifier of the Business Partner

MINORITY_INDICATOR_VALUE

Value of Minority indicator of the Business Partner.

ADMINISTRATIVE_AREA_VALUE

Value of Administrative area of the Business Partner.

LOCALITY_VALUE

Value of Locality of the Business Partner.

POST_CODE_VALUE

Value of Post code of the Business Partner.

THOROUGHFARE_VALUE

Value of Thoroughfare of the Business Partner.

THOROUGHFARE_NUMBER

Thoroughfare number of the Business Partner.

BUSINESS_PARTNER_STATUS_TYPE

Status of the Business Partner.

LEGAL_FORM_NAME

Legal form of the Business Partner.

Example: affectedProperties=MINORITY_INDICATOR_VALUE
fromstring

Only show updates which have been modified after this ISO date.

Example: from=2019-12-31T16:47
featuresOnArray of strings(BusinessPartnerUpdatesFeatureParam)

Features to be activated during the read Business Partner updates.

Items Enum"APPLY_CURATION_DECISIONS""FETCH_HISTORICAL_UPDATES""FETCH_STORAGE_BUSINESS_PARTNER""NUMBER_OF_TOTAL"
Example: featuresOn=FETCH_STORAGE_BUSINESS_PARTNER
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/v4/cdqpool/businesspartners/updates \
  -H 'X-Credential-Username: 87b1bdb1-ba87-4522-b363-c5a0e6e917b3'

Responses

OK

Bodyapplication/json
limitinteger(Limit)

Number of items per page.

Example: "100"
totalinteger(PageTotal)

Total number of items which can be paged.

Example: "67"
startAfterstring(StartAfter)

The ID which is used to read the page.

Example: "5712566172571652"
nextStartAfterstring

Available only when you used USE_NEXT_START_AFTER feature. Provides a value to be used as a startAfter in next page request.

Example: "5712566172571652"
valuesArray of objects(BusinessPartnerUpdate)

List of Business Partner Updates.

Response
application/json
{ "limit": "100", "total": "67", "startAfter": "5712566172571652", "nextStartAfter": "5712566172571652", "values": [ {} ] }

Lookup a Business Partner

Request

Lookup Business Partners in the CDQ Community Pool.

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

cmd

matchingThresholdnumber(double)(DataMatchingThreshold)[ 0 .. 1 ]

The threshold for the data matching.

Default 0
Example: "0.5"
pageSizeinteger(PageSize)[ 1 .. 1000 ]

Number of items per page.

Default 10
Example: "100"
pageinteger(Page)>= 0

Current page number.

Default 0
Example: "1"
dataSourcesArray of strings

List of Data Sources.

Example: ["\"CUSTOM_DATA_SOURCE\" or \"648824a691d8d2503d65103e\""]
businessPartnerobject(BusinessPartnerLookupParam)

Lookup business partner data in connected data sources like the CDQ Community Data Pool, Business registers, or even in the own data mirror.

featuresOnArray of strings(FetchBusinessPartnerFeatureParam)

Features to be used during the fetch Business Partner.

Items Enum ValueDescription
FETCH_RECORD

Allows to switch fetching record field to reduce data size. By default, turned on.

FETCH_RELATIONS

Allows to switch fetching relations of Business Partners. By default, deactivated. Only for storages with RELATIONS feature activated.

Example: ["FETCH_RECORD"]
featuresOffArray of strings(FetchBusinessPartnerFeatureParam)

Features to be excluded during the fetch Business Partner.

Items Enum ValueDescription
FETCH_RECORD

Allows to switch fetching record field to reduce data size. By default, turned on.

FETCH_RELATIONS

Allows to switch fetching relations of Business Partners. By default, deactivated. Only for storages with RELATIONS feature activated.

Example: ["FETCH_RECORD"]
curl -i -X POST \
  -u <username>:<password> \
  https://idp.cdq.com/_mock/apis/data-exchange-api/api-v5/v4/cdqpool/businesspartners/lookup \
  -H 'Content-Type: application/json' \
  -H 'X-Credential-Username: 87b1bdb1-ba87-4522-b363-c5a0e6e917b3' \
  -d '{
    "matchingThreshold": "0.5",
    "pageSize": "100",
    "page": "1",
    "dataSources": [
      "\"CUSTOM_DATA_SOURCE\" or \"648824a691d8d2503d65103e\""
    ],
    "businessPartner": {
      "externalId": "The ID managed in the customer'\''s SAP systems.",
      "record": "{\"name\": \"BUSINESSPARTNER_NAME\", ...}",
      "names": [
        {
          "value": "Corporate Data Quality AG"
        }
      ],
      "identifiers": [
        {
          "value": "CHE-218.608.886 HR/MWST",
          "type": {
            "technicalKey": "CH_VAT_ID"
          }
        }
      ],
      "legalForm": {
        "name": "Aktiengesellschaft"
      },
      "addresses": [
        {
          "country": {
            "shortName": "CH"
          },
          "administrativeAreas": [
            {
              "value": "Sankt Gallen"
            }
          ],
          "localities": [
            {
              "value": "Sankt Gallen"
            }
          ],
          "postCodes": [
            {
              "value": "9000"
            }
          ],
          "thoroughfares": [
            {
              "value": "Lukasstraße 4",
              "number": "4"
            }
          ]
        }
      ],
      "externalContext": {
        "identifiers": [
          {
            "value": "7250017031",
            "type": {
              "technicalKey": "KUNNR"
            }
          }
        ]
      },
      "profile": {
        "tags": [
          {
            "value": "Warehouse",
            "type": {
              "technicalKey": "WAREHOUSE"
            }
          }
        ]
      }
    },
    "featuresOn": [
      "FETCH_RECORD"
    ],
    "featuresOff": [
      "FETCH_RECORD"
    ]
  }'

Responses

OK

Bodyapplication/json
pageSizeinteger(PageSize)[ 1 .. 1000 ]

Number of items per page.

Default 10
Example: "100"
totalinteger

Total number of items which can be paged. Null if Business Partner was not specified.

Example: "67"
pageinteger(Page)>= 0

Current page number.

Default 0
Example: "1"
valuesArray of objects(BusinessPartnerLookupMatch)

List of matching Business Partners.

debugInfoobject

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

Response
application/json
{ "pageSize": "100", "total": "67", "page": "1", "values": [ {} ], "debugInfo": { "features": [], "request": {} } }