Delete batches of Business Partners by ID or a combination of DataSource and External ID. Maximum of 1000 Business Partners are allowed per batch. In case only a data source is provided in the request, all Business Partners related to this data source will be deleted, but the data source itself will not be deleted.
cmd
OK
Created
Unauthorized
Forbidden
Not Found
{- "dataSource": "YOUR_DATASOURCE_ID",
- "businessPartners": [
- {
- "externalId": "BP_EXTERNAL_ID"
}
], - "featuresOn": [
- "DELETE_BY_EXTERNAL_ID"
]
}
{- "numberOfDeletes": "50",
- "numberOfFailures": "0",
- "failures": [
- {
- "id": "63e635235c06b7396330fe40",
- "dataSource": "648824a691d8d2503d65103e",
- "externalId": "The ID managed in the customer's SAP systems.",
- "message": "This record could not be stored due to timeout."
}
]
}
Lookup a Business Partner in provided storage.
cmd
required | object An organization which has some degree of involvement with another organization's business dealings. Typically, a company's business partner is another company in the role of a customer, a supplier, a vendor, or a service provider. In the CDL context, the business partner is the core managed entity. A business partner is globally uniquely identifiable by a CDL ID, and all managed information such as addresses, documents, and hierarchies is linked to a business partner. |
OK
Created
Unauthorized
Forbidden
Not Found
{- "businessPartner": {
- "externalId": "The ID managed in the customer's SAP systems.",
- "names": [
- {
- "value": "Administrative Area"
}
], - "identifiers": [
- {
- "value": "CHE-218.608.886 HR/MWST",
- "type": {
- "technicalKey": "ABN_AU"
}
}
], - "legalForm": {
- "value": "Administrative Area"
}, - "address": {
- "thoroughfares": [
- {
- "value": "Lukasstraße 4",
- "number": "4"
}
], - "localities": [
- {
- "value": "Administrative Area"
}
], - "administrativeAreas": {
- "value": "Administrative Area"
}, - "postCode": {
- "value": "Administrative Area"
}, - "country": {
- "value": "Administrative Area"
}
}
}
}
{- "pageSize": "100",
- "totals": "67",
- "page": "1",
- "values": [
- {
- "cdqId": "VIES:PL8660001429",
- "debugInfo": {
- "features": [
- {
- "feature": "TRANSFORM_RECORD",
- "active": "true"
}
], - "request": {
- "businessPartner": {
- "externalId": "The ID managed in the customer's SAP systems.",
- "names": [
- {
- "value": null
}
], - "identifiers": [
- {
- "value": null,
- "type": { }
}
], - "legalForm": {
- "value": "Administrative Area"
}, - "address": {
- "thoroughfares": [
- { }
], - "localities": [
- null
], - "administrativeAreas": {
- "value": null
}, - "postCode": {
- "value": null
}, - "country": {
- "value": null
}
}
}
}, - "cureatedRequest": {
- "businessPartner": {
- "externalId": "The ID managed in the customer's SAP systems.",
- "names": [
- {
- "value": null
}
], - "identifiers": [
- {
- "value": null,
- "type": { }
}
], - "legalForm": {
- "value": "Administrative Area"
}, - "address": {
- "thoroughfares": [
- { }
], - "localities": [
- null
], - "administrativeAreas": {
- "value": null
}, - "postCode": {
- "value": null
}, - "country": {
- "value": null
}
}
}
}
}, - "businessPartner": {
- "externalId": "The ID managed in the customer's SAP systems.",
- "id": "63e635235c06b7396330fe40",
- "names": [
- {
- "details": "Marketing department",
- "language": "DE",
- "shortname": "CDQ AG",
- "type": "LOCAL",
- "value": "Corporate Data Quality AG"
}
], - "identifiers": [
- {
- "type": "CH_VAT_ID",
- "value": "CHE-218.608.886 HR/MWST"
}
], - "legalForm": {
- "name": "Aktiengesellschaft",
}, - "classifications": [
- {
- "code": "20.20Z",
- "label": "NAF 2003",
- "type": "NAF 2003"
}
], - "status": {
- "explanations": [
- "No errors have been found"
], - "recordStatus": "ACCEPTED"
}, - "address": {
- "id": "0",
- "externalId": "1",
- "addressTypes": [
- "LEGAL_ADDRESS"
], - "careOf": "CDQ GmbH c/o Product Department",
- "context": [
- "Production hall 7, Storage field 8."
], - "country": {
- "shortname": "CH",
- "value": "Switzerland"
}, - "administrativeArea": {
- "value": "Sankt Gallen"
}, - "postCode": {
- "value": "9000",
- "type": "REGULAR"
}, - "locality": {
- "value": "Sankt Gallen",
- "type": "CITY"
}, - "thoroughfare": {
- "number": "4",
- "type": "INDUSTRIAL_ZONE",
- "value": "Lukasstraße 4"
}, - "premise": {
- "number": "4",
- "shortname": "Lukasstr. 4",
- "technicalKey": "FACTORY",
- "type": "FACTORY",
- "value": "Lukasstraße 4"
}, - "postalDeliveryPoint": {
- "number": "460",
- "type": "MAILBOX",
- "value": "Postfach"
}, - "geographicCoordinates": {
- "latitude": "47.439549",
- "longitude": "9.395275"
}, - "formattedAddress": {
- "country": "Switzerland",
- "administrativeArea": "Sankt Gallen",
- "region": "Sankt Gallen",
- "regionCode": "9004",
- "district": "City center",
- "locality": "Sankt Gallen",
- "postCode": "9000",
- "thoroughfare": "Lukassstrasse",
- "premise": "Lukasstraße 4, Building 2, Floor 3, Room 4",
- "mailStation": "US, Pasadena, MAIL STATION 201-6",
- "mailbox": "Postfach 460",
- "interurbanDeliveryPoint": "Sankt Gallen, Postfach 460",
- "postOfficeBox": "Postfach 460"
}, - "results": {
- "curationResult": {
- "accuracyIndicator": "5",
- "changes": [
- null
], - "curatedAddress": { },
- "curationLevel": "LEVEL_4",
- "requestSimilarity": {
- "geoCoordinates": null,
- "locality": null,
- "overall": null,
- "postCode": null,
- "thoroughfare": null
}, - "response": {
- "message": null,
- "status": null,
- "timestamp": null
}
}, - "goldenRecordGenerationResult": {
- "explanations": [
- null
], - "goldenRecord": {
- "id": null,
- "disclosed": null,
- "names": [ ],
- "legalForm": null,
- "identifiers": [ ],
- "categories": [ ],
- "classifications": [ ],
- "companyStatus": null,
- "status": null,
- "results": null,
- "addresses": [ ],
- "externalId": null,
- "dataSource": null,
- "record": null
}, - "originalBusinessPartner": {
- "id": null,
- "disclosed": null,
- "names": [ ],
- "legalForm": null,
- "identifiers": [ ],
- "categories": [ ],
- "classifications": [ ],
- "companyStatus": null,
- "status": null,
- "results": null,
- "addresses": [ ],
- "externalId": null,
- "dataSource": null,
- "record": null
}, - "originalDataDefects": [
- null
], - "referenceBusinesspartners": [
- null
], - "remainingDataDefects": [
- null
]
}, - "lookupResults": {
- "lookupMatches": [
- null
]
}, - "validationResult": {
- "dataDefects": [
- null
], - "fixProposals": [
- null
]
}
}
}
}, - "matchingScore": "0.9",
- "addressMatchingScore": "0.9",
- "businessPartnerMatchingScore": "0.9",
- "matchingExplanation": "{'BP: [overall: [PL_NIP: 0.89; overall: 0.89;]] A: [overall: [COUNTRY_SHORTNAME: 0.5; overall: 0.5;]]'}"
}
]
}
Poll endpoint for job created in POST toggleUpdateMonitoringJobs
.
OK
{- "job": {
- "id": "35f23c03-1c22-45fe-9484-3ffe769325de",
- "createdBy": "76248934691294444",
- "createdAt": "2024-11-12T20:37:13Z",
- "modifiedAt": "2024-11-12T20:37:13Z",
- "progress": "77",
- "status": "RUNNING",
- "statusMessage": "The job failed because storage is empty.",
- "enable": "true",
- "storageId": "72d6900fce6b326088f5d9d91049e3e6",
- "dataSourceId": "648824a691d8d2503d65103e",
- "countryShortName": "CH"
}, - "status": "OK"
}
To toggle update monitoring on multiple BusinessPartners, the permission can be changed in two ways:
After the job is finished, the following actions are taken for Business Partners which match the dataSourceId and countryShortName criteria:
For toggling via a list of Business Partners, identified by their ID, please go to Toggle Update Monitoring of Business Partners.
OK
The sent request is malformed.
{- "enable": "true",
- "storageId": "72d6900fce6b326088f5d9d91049e3e6",
- "name": "Process vendor data.",
- "description": "I started this job to improve quality of our data.",
- "dataSourceId": "648824a691d8d2503d65103e",
- "countryShortName": "CH"
}
{- "id": "35f23c03-1c22-45fe-9484-3ffe769325de",
- "createdBy": "76248934691294444",
- "createdAt": "2024-11-12T20:37:13Z",
- "modifiedAt": "2024-11-12T20:37:13Z",
- "progress": "77",
- "status": "RUNNING",
- "statusMessage": "The job failed because storage is empty.",
- "enable": "true",
- "storageId": "72d6900fce6b326088f5d9d91049e3e6",
- "dataSourceId": "648824a691d8d2503d65103e",
- "countryShortName": "CH"
}
To toggle update monitoring on multiple BusinessPartners, the permission can be changed via a list of Business Partners, identified by their ID.
After the job is finished, the following actions are taken for Business Partners which match the businessPartnerIds criteria:
For toggling a complete Data Source or for a certain Country of a Data Source, please go to Start Toggle Update Monitoring Job.
OK
{- "enable": "true",
- "businessPartnerIds": [
- "63e635235c06b7396330fe40"
]
}
Upsert Business Partners in a Business Partner storage in batches. Maximum of 1000 Business Partners are allowed per batch.
If no data source (via field: dataSource
) is provided and the storage has only one, then this data source will be used/set. Other options are to provide an
existing data source in the request, which will then be taken for all the Business Partner or to provide a data source for each Business Partner
individually.
In the following cases an API error will be thrown:
To start upserting Business Partners into a storage, use the following request.
PUT https://api.corporate-data-league.ch/data-exchange/rest/v4/storages/{YOUR STORAGE ID}/businesspartners
{
"dataSource": "{YOUR DATA SOURCE}",
"featuresOn": ["UPSERT_BY_EXTERNAL_ID"],
"businessPartners": [
{
"externalId": "123",
"record": "{\"MyId\":\"123\", \"City\":\"St. Gallen\"}",
"names": [
{
"value": "CDQ AG",
"type": "BUSINESS_PARTNER_NAME_TYPE_LOCAL"
}
],
"addresses": [{
"thoroughfare": {
"value": "Lukasstrasse 4"
},
"postCode": {
"value": "9008"
},
"locality": {
"value": "St. Gallen"
},
"country": {
"shortname": "CH"
}
}]
}]
}'
The response is shown below.
{
"numberOfInserts": "1",
"numberOfUpdates": "0",
}
If there is no name typed LOCAL in businessPartner.names and exists any name with empty type or not filled type.technicalKey, it becomes name of type LOCAL.
Warn: in order to support multiple data sources, include dataSource into the request, either in $.dataSource or $.businessPartners[*].dataSource. Otherwise, multiple data sources with no selection of data source will lead to "No DataSource was provided for the given Business Partners and the storage has more than one attached to it." exception.
Limits
Business Partner and Address fields have defined array size limits
Path | Max array size |
---|---|
$.businessPartners[*].names | 20 |
$.businessPartners[*].identifiers | 20 |
$.businessPartners[*].categories | 20 |
$.businessPartners[*].addresses | 20 |
$.businessPartners[].addresses[].context | 100 |
$.businessPartners[].addresses[].addressTypes | 20 |
Request to create or update business partners.
OK
The sent request is malformed.
Invalid authentication was sent.
{- "dataSource": "648824a691d8d2503d65103e",
- "businessPartners": [
- {
- "id": "63e635235c06b7396330fe40",
- "disclosed": "false",
- "names": [
- {
- "details": "Marketing department",
- "language": "DE",
- "shortname": "CDQ AG",
- "type": "LOCAL",
- "value": "Corporate Data Quality AG"
}
], - "legalForm": "Aktiengesellschaft",
- "identifiers": [
- {
- "type": "CH_VAT_ID",
- "value": "CHE-218.608.886 HR/MWST"
}
], - "categories": [
- "HOTEL"
], - "classifications": [
- {
- "code": "20.20Z",
- "label": "NAF 2003",
- "type": "NAF 2003"
}
], - "companyStatus": "ACTIVE",
- "status": {
- "explanations": [
- "No errors have been found"
], - "recordStatus": "ACCEPTED"
}, - "results": {
- "businessPartnerCurationResult": {
- "curatedBusinessPartner": { }
}, - "categorizationResult": {
- "categories": [
- {
- "categorized": "true",
- "key": "CDQ.BP.INDUSTRY",
- "label": "Industry",
- "score": "0.8"
}
]
}, - "validationResult": {
- "dataDefects": [
- {
- "attributes": [
- null
], - "businessRule": "Deprecated",
- "entity": "Deprecated",
- "errorCode": "0",
- "fixProposal": "Deprecated",
- "fixProposalJson": "Deprecated",
- "violationLevel": "NO_DEFECT",
- "violationMessage": "Business partner misses an optional D-U-N-S number."
}
], - "fixProposals": [
- {
- "addresses": [
- null
], - "identifiers": [
- null
], - "names": [
- null
]
}
]
}
}, - "addresses": [
- {
- "id": "0",
- "externalId": "1",
- "addressTypes": [
- "LEGAL_ADDRESS"
], - "careOf": "CDQ GmbH c/o Product Department",
- "context": [
- "Production hall 7, Storage field 8."
], - "country": {
- "shortname": "CH",
- "value": "Switzerland"
}, - "administrativeArea": {
- "value": "Sankt Gallen"
}, - "postCode": {
- "value": "9000",
- "type": "REGULAR"
}, - "locality": {
- "value": "Sankt Gallen",
- "type": "CITY"
}, - "thoroughfare": {
- "number": "4",
- "type": "INDUSTRIAL_ZONE",
- "value": "Lukasstraße 4"
}, - "premise": {
- "number": "4",
- "shortname": "Lukasstr. 4",
- "technicalKey": "FACTORY",
- "type": "FACTORY",
- "value": "Lukasstraße 4"
}, - "postalDeliveryPoint": {
- "number": "460",
- "type": "MAILBOX",
- "value": "Postfach"
}, - "geographicCoordinates": {
- "latitude": "47.439549",
- "longitude": "9.395275"
}, - "formattedAddress": {
- "country": "Switzerland",
- "administrativeArea": "Sankt Gallen",
- "region": "Sankt Gallen",
- "regionCode": "9004",
- "district": "City center",
- "locality": "Sankt Gallen",
- "postCode": "9000",
- "thoroughfare": "Lukassstrasse",
- "premise": "Lukasstraße 4, Building 2, Floor 3, Room 4",
- "mailStation": "US, Pasadena, MAIL STATION 201-6",
- "mailbox": "Postfach 460",
- "interurbanDeliveryPoint": "Sankt Gallen, Postfach 460",
- "postOfficeBox": "Postfach 460"
}, - "results": {
- "curationResult": {
- "accuracyIndicator": "5",
- "changes": [
- null
], - "curatedAddress": { },
- "curationLevel": "LEVEL_4",
- "requestSimilarity": {
- "geoCoordinates": null,
- "locality": null,
- "overall": null,
- "postCode": null,
- "thoroughfare": null
}, - "response": {
- "message": null,
- "status": null,
- "timestamp": null
}
}, - "goldenRecordGenerationResult": {
- "explanations": [
- null
], - "goldenRecord": { },
- "originalBusinessPartner": { },
- "originalDataDefects": [
- null
], - "referenceBusinesspartners": [
- null
], - "remainingDataDefects": [
- null
]
}, - "lookupResults": {
- "lookupMatches": [
- null
]
}, - "validationResult": {
- "dataDefects": [
- null
], - "fixProposals": [
- null
]
}
}
}
], - "externalId": "The ID managed in the customer's SAP systems.",
- "dataSource": "\"CUSTOM_DATA_SOURCE\" or \"648824a691d8d2503d65103e\"",
- "record": "{\"name\": \"BUSINESSPARTNER_NAME\", ...}"
}
], - "featuresOn": [
- "UPSERT_BY_EXTERNAL_ID"
], - "featuresOff": [
- "UPSERT_BY_EXTERNAL_ID"
]
}
{- "id": "648824a691d8d2503d65103e",
- "name": "Internal customers",
- "eventStoreId": "72d6900fce6b326123f5d9d91049e3e6",
- "domain": "BusinessPartner",
- "organization": "cdq_monitor",
- "user": "johndoe",
- "createdAt": "2024-11-12T20:37:13Z",
- "expiresAt": "2024-11-12T20:37:13Z",
- "dataMatchingDefinitionId": "6400955811c68a034bcef311",
- "dataSources": [
- {
- "id": "648824a691d8d2503d65103e",
- "createdAt": "2024-11-12T20:37:13Z",
- "lastUpdatedAt": "2024-11-12T20:37:13Z",
- "name": "Internal customers",
- "dataMapperDefinitionId": "6440dba32b30176c5917b1b7",
- "dataTransformationDefinitionId": "6440dba32b30176c5917b1b7",
- "prefix": "Custom prefix",
- "mappingDisclosure": "true"
}
], - "dataMonitors": [
- {
- "id": "bfdfd6f7-562f-4d4a-921f-e68cba60d5cf",
- "frequency": "BI_WEEKLY",
- "type": {
- "name": "Augmentation",
- "technicalKey": "AUGMENTATION"
}, - "dataSources": [
- {
- "id": "648824a691d8d2503d65103e",
- "name": "Internal customers"
}
], - "enabled": true,
- "disabledAt": "2024-11-12T20:37:13Z",
- "configuration": {
- "id": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4"
}
}
], - "features": {
- "lookup": {
- "status": "ENABLED"
}, - "updates": {
- "status": "ENABLED"
}, - "sharing": {
- "status": "ENABLED"
}, - "neverExpire": {
- "status": "ENABLED"
}
}, - "numberOfCountries": "12",
- "numberOfRecords": "500",
- "countryStatistics": [
- {
- "countryCode": "CH",
- "numberOfRecords": "500"
}
], - "originalFileHeader": [
- "BusinessPartnerId,Name,Address"
], - "originalFileName": "business-partner.csv",
- "results": {
- "addressCurationReports": [
- {
- "creationTimestamp": "2024-11-12T20:37:13Z",
- "description": "Report description",
- "name": "Report name",
- "type": "Report type",
}
], - "goldenRecordGenerationReports": [
- {
- "creationTimestamp": "2024-11-12T20:37:13Z",
- "description": "Report description",
- "name": "Report name",
- "type": "Report type",
}
], - "resultItems": [
- {
- "country": "CH",
- "label": "Result Item label",
- "numberOfRecords": "500",
- "type": "Result Item type"
}
], - "validationReports": [
- {
- "creationTimestamp": "2024-11-12T20:37:13Z",
- "description": "Report description",
- "name": "Report name",
- "type": "Report type",
}
]
}, - "status": "FILE_IMPORTED_SUCCESSFULLY",
- "statusMessage": "BusinessPartner batch could not be upserted into Business Partner Storage.",
- "sharedWithOrganization": "true",
- "labels": [
- "Custom Storage Name"
]
}