diff --git a/docs/api/gate.json b/docs/api/gate.json index 60de2294e..9af5725bd 100644 --- a/docs/api/gate.json +++ b/docs/api/gate.json @@ -3,7 +3,7 @@ "info": { "title": "Business Partner Data Management Gate", "description": "A gate for a member to share business partner data with CatenaX", - "version": "6.0.0-SNAPSHOT" + "version": "6.0.0" }, "servers": [ { @@ -12,7 +12,7 @@ } ], "paths": { - "/input/business-partners": { + "/v6/input/business-partners": { "put": { "tags": [ "business-partner-controller" @@ -53,7 +53,7 @@ } } }, - "/sharing-state/ready": { + "/v6/sharing-state/ready": { "post": { "tags": [ "sharing-state-controller" @@ -81,7 +81,7 @@ } } }, - "/output/changelog/search": { + "/v6/output/changelog/search": { "post": { "tags": [ "changelog-controller" @@ -141,7 +141,7 @@ } } }, - "/output/business-partners/search": { + "/v6/output/business-partners/search": { "post": { "tags": [ "business-partner-controller" @@ -203,7 +203,7 @@ } } }, - "/input/changelog/search": { + "/v6/input/changelog/search": { "post": { "tags": [ "changelog-controller" @@ -263,7 +263,7 @@ } } }, - "/input/business-partners/search": { + "/v6/input/business-partners/search": { "post": { "tags": [ "business-partner-controller" @@ -325,7 +325,7 @@ } } }, - "/stats/{stage}/address-types": { + "/v6/stats/{stage}/address-types": { "get": { "tags": [ "stats-controller" @@ -359,7 +359,7 @@ } } }, - "/stats/stages": { + "/v6/stats/stages": { "get": { "tags": [ "stats-controller" @@ -379,7 +379,7 @@ } } }, - "/stats/sharing-states": { + "/v6/stats/sharing-states": { "get": { "tags": [ "stats-controller" @@ -399,7 +399,7 @@ } } }, - "/stats/confidence-criteria": { + "/v6/stats/confidence-criteria": { "get": { "tags": [ "stats-controller" @@ -419,7 +419,7 @@ } } }, - "/sharing-state": { + "/v6/sharing-state": { "get": { "tags": [ "sharing-state-controller" @@ -501,7 +501,8 @@ "alternativePostalAddress", "bpnA", "confidenceCriteria", - "physicalPostalAddress" + "physicalPostalAddress", + "states" ], "type": "object", "properties": { @@ -531,6 +532,12 @@ }, "confidenceCriteria": { "$ref": "#/components/schemas/ConfidenceCriteriaDto" + }, + "states": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BusinessPartnerStateDto" + } } }, "description": "Address properties of business partner output data" @@ -538,7 +545,8 @@ "AddressRepresentationInputDto": { "required": [ "alternativePostalAddress", - "physicalPostalAddress" + "physicalPostalAddress", + "states" ], "type": "object", "properties": { @@ -565,6 +573,12 @@ }, "alternativePostalAddress": { "$ref": "#/components/schemas/AlternativePostalAddressDto" + }, + "states": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BusinessPartnerStateDto" + } } }, "description": "The address, on which the business partner provides a view. " @@ -1167,16 +1181,6 @@ "type": "string", "description": "The external identifier of the business partner for which the changelog entry was created." }, - "businessPartnerType": { - "type": "string", - "description": "One of the types of business partners for which the changelog entry was created: legal entity, site, address.", - "enum": [ - "LEGAL_ENTITY", - "SITE", - "ADDRESS", - "GENERIC" - ] - }, "timestamp": { "type": "string", "description": "The date and time when the changelog entry was created.", @@ -1209,20 +1213,6 @@ "items": { "type": "string" } - }, - "businessPartnerTypes": { - "uniqueItems": true, - "type": "array", - "description": "Only for business partners with the given array of business partner types. Ignored if empty.", - "items": { - "type": "string", - "enum": [ - "LEGAL_ENTITY", - "SITE", - "ADDRESS", - "GENERIC" - ] - } } } }, @@ -1313,6 +1303,9 @@ "description": "The exact location of the physical postal address in latitude, longitude, and altitude." }, "LegalEntityRepresentationInputDto": { + "required": [ + "states" + ], "type": "object", "properties": { "legalEntityBpn": { @@ -1330,6 +1323,12 @@ "legalForm": { "type": "string", "description": "The legal form of the legal entity, on which the business partner provides a view." + }, + "states": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BusinessPartnerStateDto" + } } }, "description": "The legal entity, on which the business partner provides a view." @@ -1338,7 +1337,8 @@ "required": [ "bpnL", "confidenceCriteria", - "legalEntityBpn" + "legalEntityBpn", + "states" ], "type": "object", "properties": { @@ -1360,6 +1360,12 @@ }, "confidenceCriteria": { "$ref": "#/components/schemas/ConfidenceCriteriaDto" + }, + "states": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BusinessPartnerStateDto" + } } }, "description": "Legal Entity properties of business partner output data" @@ -1889,22 +1895,11 @@ }, "SharingStateDto": { "required": [ - "businessPartnerType", "externalId", "sharingStateType" ], "type": "object", "properties": { - "businessPartnerType": { - "type": "string", - "description": "One of the types of business partners for which the sharing state entry was created.", - "enum": [ - "LEGAL_ENTITY", - "SITE", - "ADDRESS", - "GENERIC" - ] - }, "externalId": { "type": "string", "description": "The external identifier of the business partner for which the sharing state entry was created." @@ -1934,10 +1929,6 @@ "type": "string", "description": "The error message in case the current sharing state type is \"error\"." }, - "bpn": { - "type": "string", - "description": "The business partner number associated to the combination of external identifier and business partner type in case the sharing state type is “success”. Can be either a BPNL, BPNS or BPNA." - }, "sharingProcessStarted": { "type": "string", "description": "The date and time when the sharing process was started.", @@ -1951,6 +1942,9 @@ "description": "A sharing state entry shows the progress in the sharing process and is updated each time the progress for a business partner changes. The business partner is identified by a combination of external ID and business partner type." }, "SiteRepresentationInputDto": { + "required": [ + "states" + ], "type": "object", "properties": { "siteBpn": { @@ -1960,6 +1954,12 @@ "name": { "type": "string", "description": "The name of the site, on which the business partner provides a view. This is not according to official registers but according to the name the owner chooses." + }, + "states": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BusinessPartnerStateDto" + } } }, "description": "The site, on which the business partner provides a view." @@ -1967,7 +1967,8 @@ "SiteRepresentationOutputDto": { "required": [ "confidenceCriteria", - "siteBpn" + "siteBpn", + "states" ], "type": "object", "properties": { @@ -1981,6 +1982,12 @@ }, "confidenceCriteria": { "$ref": "#/components/schemas/ConfidenceCriteriaDto" + }, + "states": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BusinessPartnerStateDto" + } } }, "description": "Site properties of business partner output data" diff --git a/docs/api/gate.yaml b/docs/api/gate.yaml index 297c22aa4..df09ab30a 100644 --- a/docs/api/gate.yaml +++ b/docs/api/gate.yaml @@ -2,12 +2,12 @@ openapi: 3.0.1 info: title: Business Partner Data Management Gate description: A gate for a member to share business partner data with CatenaX - version: 6.0.0-SNAPSHOT + version: 6.0.0 servers: - url: http://localhost:8081 description: Generated server url paths: - /input/business-partners: + /v6/input/business-partners: put: tags: - business-partner-controller @@ -33,7 +33,7 @@ paths: $ref: '#/components/schemas/BusinessPartnerInputDto' '400': description: On malformed legal entity request - /sharing-state/ready: + /v6/sharing-state/ready: post: tags: - sharing-state-controller @@ -51,7 +51,7 @@ paths: description: All business partners put in ready to be shared state '400': description: Business partners can't be put into ready state (e.g. external-ID not found, wrong sharing state) - /output/changelog/search: + /v6/output/changelog/search: post: tags: - changelog-controller @@ -91,7 +91,7 @@ paths: $ref: '#/components/schemas/PageChangeLogDtoChangelogGateDto' '400': description: On malformed pagination request - /output/business-partners/search: + /v6/output/business-partners/search: post: tags: - business-partner-controller @@ -132,7 +132,7 @@ paths: $ref: '#/components/schemas/PageDtoBusinessPartnerOutputDto' '400': description: On malformed pagination request - /input/changelog/search: + /v6/input/changelog/search: post: tags: - changelog-controller @@ -172,7 +172,7 @@ paths: $ref: '#/components/schemas/PageChangeLogDtoChangelogGateDto' '400': description: On malformed pagination request - /input/business-partners/search: + /v6/input/business-partners/search: post: tags: - business-partner-controller @@ -213,7 +213,7 @@ paths: $ref: '#/components/schemas/PageDtoBusinessPartnerInputDto' '400': description: On malformed pagination request - /stats/{stage}/address-types: + /v6/stats/{stage}/address-types: get: tags: - stats-controller @@ -234,7 +234,7 @@ paths: application/json: schema: $ref: '#/components/schemas/StatsAddressTypesResponse' - /stats/stages: + /v6/stats/stages: get: tags: - stats-controller @@ -246,7 +246,7 @@ paths: application/json: schema: $ref: '#/components/schemas/StatsStagesResponse' - /stats/sharing-states: + /v6/stats/sharing-states: get: tags: - stats-controller @@ -258,7 +258,7 @@ paths: application/json: schema: $ref: '#/components/schemas/StatsSharingStatesResponse' - /stats/confidence-criteria: + /v6/stats/confidence-criteria: get: tags: - stats-controller @@ -270,7 +270,7 @@ paths: application/json: schema: $ref: '#/components/schemas/StatsConfidenceCriteriaResponse' - /sharing-state: + /v6/sharing-state: get: tags: - sharing-state-controller @@ -329,6 +329,7 @@ components: - bpnA - confidenceCriteria - physicalPostalAddress + - states type: object properties: addressBpn: @@ -351,11 +352,16 @@ components: $ref: '#/components/schemas/AlternativePostalAddressDto' confidenceCriteria: $ref: '#/components/schemas/ConfidenceCriteriaDto' + states: + type: array + items: + $ref: '#/components/schemas/BusinessPartnerStateDto' description: Address properties of business partner output data AddressRepresentationInputDto: required: - alternativePostalAddress - physicalPostalAddress + - states type: object properties: addressBpn: @@ -376,6 +382,10 @@ components: $ref: '#/components/schemas/PhysicalPostalAddressDto' alternativePostalAddress: $ref: '#/components/schemas/AlternativePostalAddressDto' + states: + type: array + items: + $ref: '#/components/schemas/BusinessPartnerStateDto' description: 'The address, on which the business partner provides a view. ' AlternativePostalAddressDto: type: object @@ -895,14 +905,6 @@ components: externalId: type: string description: The external identifier of the business partner for which the changelog entry was created. - businessPartnerType: - type: string - description: 'One of the types of business partners for which the changelog entry was created: legal entity, site, address.' - enum: - - LEGAL_ENTITY - - SITE - - ADDRESS - - GENERIC timestamp: type: string description: The date and time when the changelog entry was created. @@ -928,17 +930,6 @@ components: description: Only for business partners with the given array of external IDs. Ignored if empty. items: type: string - businessPartnerTypes: - uniqueItems: true - type: array - description: Only for business partners with the given array of business partner types. Ignored if empty. - items: - type: string - enum: - - LEGAL_ENTITY - - SITE - - ADDRESS - - GENERIC ConfidenceCriteriaDto: required: - checkedByExternalDataSource @@ -1004,6 +995,8 @@ components: format: float description: The exact location of the physical postal address in latitude, longitude, and altitude. LegalEntityRepresentationInputDto: + required: + - states type: object properties: legalEntityBpn: @@ -1018,12 +1011,17 @@ components: legalForm: type: string description: The legal form of the legal entity, on which the business partner provides a view. + states: + type: array + items: + $ref: '#/components/schemas/BusinessPartnerStateDto' description: The legal entity, on which the business partner provides a view. LegalEntityRepresentationOutputDto: required: - bpnL - confidenceCriteria - legalEntityBpn + - states type: object properties: legalEntityBpn: @@ -1040,6 +1038,10 @@ components: description: The legal form of the legal entity, on which the business partner provides a view. confidenceCriteria: $ref: '#/components/schemas/ConfidenceCriteriaDto' + states: + type: array + items: + $ref: '#/components/schemas/BusinessPartnerStateDto' description: Legal Entity properties of business partner output data PageChangeLogDtoChangelogGateDto: required: @@ -1505,19 +1507,10 @@ components: description: Request for setting business partners into ready to be shared to golden record state SharingStateDto: required: - - businessPartnerType - externalId - sharingStateType type: object properties: - businessPartnerType: - type: string - description: One of the types of business partners for which the sharing state entry was created. - enum: - - LEGAL_ENTITY - - SITE - - ADDRESS - - GENERIC externalId: type: string description: The external identifier of the business partner for which the sharing state entry was created. @@ -1541,9 +1534,6 @@ components: sharingErrorMessage: type: string description: The error message in case the current sharing state type is "error". - bpn: - type: string - description: The business partner number associated to the combination of external identifier and business partner type in case the sharing state type is “success”. Can be either a BPNL, BPNS or BPNA. sharingProcessStarted: type: string description: The date and time when the sharing process was started. @@ -1553,6 +1543,8 @@ components: description: The orchestrator task identifier that was created description: A sharing state entry shows the progress in the sharing process and is updated each time the progress for a business partner changes. The business partner is identified by a combination of external ID and business partner type. SiteRepresentationInputDto: + required: + - states type: object properties: siteBpn: @@ -1561,11 +1553,16 @@ components: name: type: string description: The name of the site, on which the business partner provides a view. This is not according to official registers but according to the name the owner chooses. + states: + type: array + items: + $ref: '#/components/schemas/BusinessPartnerStateDto' description: The site, on which the business partner provides a view. SiteRepresentationOutputDto: required: - confidenceCriteria - siteBpn + - states type: object properties: siteBpn: @@ -1576,6 +1573,10 @@ components: description: The name of the site, on which the business partner provides a view. This is not according to official registers but according to the name the owner chooses. confidenceCriteria: $ref: '#/components/schemas/ConfidenceCriteriaDto' + states: + type: array + items: + $ref: '#/components/schemas/BusinessPartnerStateDto' description: Site properties of business partner output data StatsAddressTypesResponse: required: diff --git a/docs/api/orchestrator.json b/docs/api/orchestrator.json index 00f9f60fa..38def9ca6 100644 --- a/docs/api/orchestrator.json +++ b/docs/api/orchestrator.json @@ -3,7 +3,7 @@ "info": { "title": "Business Partner Data Management Orchestrator", "description": "Orchestrator component acts as a passive component and offers for each processing steps individual endpoints", - "version": "6.0.0-SNAPSHOT" + "version": "6.0.0" }, "servers": [ { @@ -12,7 +12,7 @@ } ], "paths": { - "/golden-record-tasks": { + "/v6/golden-record-tasks": { "post": { "tags": [ "Task Client" @@ -47,7 +47,7 @@ } } }, - "/golden-record-tasks/step-results": { + "/v6/golden-record-tasks/step-results": { "post": { "tags": [ "Task Worker" @@ -75,7 +75,7 @@ } } }, - "/golden-record-tasks/step-reservations": { + "/v6/golden-record-tasks/step-reservations": { "post": { "tags": [ "Task Worker" @@ -110,7 +110,7 @@ } } }, - "/golden-record-tasks/state/search": { + "/v6/golden-record-tasks/state/search": { "post": { "tags": [ "Task Client" @@ -148,381 +148,29 @@ }, "components": { "schemas": { - "AddressIdentifierDto": { + "AlternativeAddress": { "required": [ - "type", - "value" + "geographicCoordinates" ], - "type": "object", - "properties": { - "value": { - "type": "string", - "description": "The value of the identifier like \"0847976000005\"." - }, - "type": { - "type": "string", - "description": "The type of the identifier." - } - } - }, - "AddressRepresentation": { - "type": "object", - "properties": { - "addressBpn": { - "type": "string", - "description": "The BPNA of the address, on which the business partner provides a view." - }, - "name": { - "type": "string", - "description": "The name of the address, on which the business partner provides a view. This is not according to official registers but according to the name the sharing members agree on, such as the name of a gate or any other additional names that designate the address in common parlance." - }, - "addressType": { - "type": "string", - "description": "One of the address types: Legal Address, Site Main Address, Legal and Site Main Address, Additional Address. ", - "enum": [ - "LegalAndSiteMainAddress", - "LegalAddress", - "SiteMainAddress", - "AdditionalAddress" - ] - }, - "physicalPostalAddress": { - "$ref": "#/components/schemas/PhysicalPostalAddressDto" - }, - "alternativePostalAddress": { - "$ref": "#/components/schemas/AlternativePostalAddressDto" - }, - "confidenceCriteria": { - "$ref": "#/components/schemas/ConfidenceCriteriaDto" - } - }, - "description": "The address, on which the business partner provides a view. " - }, - "AddressStateDto": { - "required": [ - "type" - ], - "type": "object", - "properties": { - "validFrom": { - "type": "string", - "description": "The date from which the state is valid.", - "format": "date-time" - }, - "validTo": { - "type": "string", - "description": "The date until the state is valid.", - "format": "date-time" - }, - "type": { - "type": "string", - "description": "One of the state types: active, inactive.", - "enum": [ - "ACTIVE", - "INACTIVE" - ] - } - } - }, - "AlternativePostalAddressDto": { "type": "object", "properties": { "geographicCoordinates": { - "$ref": "#/components/schemas/GeoCoordinateDto" + "$ref": "#/components/schemas/GeoCoordinate" }, "country": { - "type": "string", - "description": "The 2-digit country code of the physical postal address according to ISO 3166-1.", - "enum": [ - "UNDEFINED", - "AC", - "AD", - "AE", - "AF", - "AG", - "AI", - "AL", - "AM", - "AN", - "AO", - "AQ", - "AR", - "AS", - "AT", - "AU", - "AW", - "AX", - "AZ", - "BA", - "BB", - "BD", - "BE", - "BF", - "BG", - "BH", - "BI", - "BJ", - "BL", - "BM", - "BN", - "BO", - "BQ", - "BR", - "BS", - "BT", - "BU", - "BV", - "BW", - "BY", - "BZ", - "CA", - "CC", - "CD", - "CF", - "CG", - "CH", - "CI", - "CK", - "CL", - "CM", - "CN", - "CO", - "CP", - "CR", - "CS", - "CU", - "CV", - "CW", - "CX", - "CY", - "CZ", - "DE", - "DG", - "DJ", - "DK", - "DM", - "DO", - "DZ", - "EA", - "EC", - "EE", - "EG", - "EH", - "ER", - "ES", - "ET", - "EU", - "EZ", - "FI", - "FJ", - "FK", - "FM", - "FO", - "FR", - "FX", - "GA", - "GB", - "GD", - "GE", - "GF", - "GG", - "GH", - "GI", - "GL", - "GM", - "GN", - "GP", - "GQ", - "GR", - "GS", - "GT", - "GU", - "GW", - "GY", - "HK", - "HM", - "HN", - "HR", - "HT", - "HU", - "IC", - "ID", - "IE", - "IL", - "IM", - "IN", - "IO", - "IQ", - "IR", - "IS", - "IT", - "JE", - "JM", - "JO", - "JP", - "KE", - "KG", - "KH", - "KI", - "KM", - "KN", - "KP", - "KR", - "KW", - "KY", - "KZ", - "LA", - "LB", - "LC", - "LI", - "LK", - "LR", - "LS", - "LT", - "LU", - "LV", - "LY", - "MA", - "MC", - "MD", - "ME", - "MF", - "MG", - "MH", - "MK", - "ML", - "MM", - "MN", - "MO", - "MP", - "MQ", - "MR", - "MS", - "MT", - "MU", - "MV", - "MW", - "MX", - "MY", - "MZ", - "NA", - "NC", - "NE", - "NF", - "NG", - "NI", - "NL", - "NO", - "NP", - "NR", - "NT", - "NU", - "NZ", - "OM", - "PA", - "PE", - "PF", - "PG", - "PH", - "PK", - "PL", - "PM", - "PN", - "PR", - "PS", - "PT", - "PW", - "PY", - "QA", - "RE", - "RO", - "RS", - "RU", - "RW", - "SA", - "SB", - "SC", - "SD", - "SE", - "SF", - "SG", - "SH", - "SI", - "SJ", - "SK", - "SL", - "SM", - "SN", - "SO", - "SR", - "SS", - "ST", - "SU", - "SV", - "SX", - "SY", - "SZ", - "TA", - "TC", - "TD", - "TF", - "TG", - "TH", - "TJ", - "TK", - "TL", - "TM", - "TN", - "TO", - "TP", - "TR", - "TT", - "TV", - "TW", - "TZ", - "UA", - "UG", - "UK", - "UM", - "US", - "UY", - "UZ", - "VA", - "VC", - "VE", - "VG", - "VI", - "VN", - "VU", - "WF", - "WS", - "XI", - "XU", - "XK", - "YE", - "YT", - "YU", - "ZA", - "ZM", - "ZR", - "ZW" - ] + "type": "string" }, "administrativeAreaLevel1": { - "type": "string", - "description": "The 2-digit country subdivision code according to ISO 3166-2, such as a region within a country." + "type": "string" }, "postalCode": { - "type": "string", - "description": "The alphanumeric identifier (sometimes including spaces or punctuation) of the physical postal address for the purpose of sorting mail, synonyms:postcode, post code, PIN or ZIP code." + "type": "string" }, "city": { - "type": "string", - "description": "The name of the city of the physical postal address, synonyms: town, village, municipality." + "type": "string" }, "deliveryServiceType": { "type": "string", - "description": "One of the alternative postal address types: P.O. box, private bag, boite postale.", "enum": [ "PO_BOX", "PRIVATE_BAG", @@ -530,154 +178,83 @@ ] }, "deliveryServiceQualifier": { - "type": "string", - "description": "The qualifier uniquely identifying the delivery service endpoint of the alternative postal address in conjunction with the delivery service number. In some countries for example, entering a P.O. box number, postal code and city is not sufficient to uniquely identify a P.O. box, because the same P.O. box number is assigned multiple times in some cities." + "type": "string" }, "deliveryServiceNumber": { - "type": "string", - "description": "The number indicating the delivery service endpoint of the alternative postal address to which the delivery is to be delivered, such as a P.O. box number or a private bag number." + "type": "string" } - }, - "description": "The alternative postal address of the address, on which the business partner provides a view, for example if the goods are to be picked up somewhere else." + } }, - "BpnReferenceDto": { - "required": [ - "referenceType", - "referenceValue" - ], + "BpnReference": { "type": "object", "properties": { "referenceValue": { - "type": "string", - "description": "The value by which the BPN is referenced" + "type": "string" + }, + "desiredBpn": { + "type": "string" }, "referenceType": { "type": "string", - "description": "The type by which to reference the BPN with", "enum": [ "Bpn", "BpnRequestIdentifier" ] } - }, - "description": "A reference to the BPN of a business partner. Either by the BPN value itself or a BPN request identifier" - }, - "BusinessPartnerFullDto": { - "required": [ - "generic" - ], - "type": "object", - "properties": { - "generic": { - "$ref": "#/components/schemas/BusinessPartnerGenericDto" - }, - "legalEntity": { - "$ref": "#/components/schemas/LegalEntityDto" - }, - "site": { - "$ref": "#/components/schemas/SiteDto" - }, - "address": { - "$ref": "#/components/schemas/LogisticAddressDto" - } - }, - "description": "Business partner data in full representation, consisting of generic data as well as its L/S/A representation." + } }, - "BusinessPartnerGenericDto": { + "BusinessPartner": { "required": [ - "address", - "identifiers", "legalEntity", "nameParts", - "roles", - "site", - "states" + "uncategorized" ], "type": "object", "properties": { "nameParts": { "type": "array", - "description": "The list of name parts to accommodate the different number of name fields in different systems.", "items": { - "type": "string" + "$ref": "#/components/schemas/NamePart" } }, - "identifiers": { - "type": "array", - "description": "The list of identifiers of the business partner. Sorted and duplicates removed by the service.", - "items": { - "$ref": "#/components/schemas/BusinessPartnerIdentifierDto" - } - }, - "states": { - "type": "array", - "description": "The list of (temporary) states of the business partner. Sorted and duplicates removed by the service.", - "items": { - "$ref": "#/components/schemas/BusinessPartnerStateDto" - } + "owningCompany": { + "type": "string" }, - "roles": { - "type": "array", - "description": "One or more of the roles, the business partner assumes with respect to the sharing member: Supplier, Customer. Sorted and duplicates removed by the service.", - "items": { - "type": "string", - "enum": [ - "SUPPLIER", - "CUSTOMER", - "ONE_TIME_SUPPLIER", - "ONE_TIME_CUSTOMER" - ] - } + "uncategorized": { + "$ref": "#/components/schemas/UncategorizedProperties" }, "legalEntity": { - "$ref": "#/components/schemas/LegalEntityRepresentation" + "$ref": "#/components/schemas/LegalEntity" }, "site": { - "$ref": "#/components/schemas/SiteRepresentation" + "$ref": "#/components/schemas/Site" }, - "address": { - "$ref": "#/components/schemas/AddressRepresentation" + "additionalAddress": { + "$ref": "#/components/schemas/PostalAddress" }, - "ownerBpnL": { - "type": "string", - "description": "The BPNL of the company sharing and claiming this business partner as its own" - } - }, - "description": "Generic business partner with external id" - }, - "BusinessPartnerIdentifierDto": { - "type": "object", - "properties": { "type": { "type": "string", - "description": "Technical key of the type to which this identifier belongs to" - }, - "value": { - "type": "string", - "description": "Value of the identifier" - }, - "issuingBody": { - "type": "string", - "description": "Body which issued the identifier" + "enum": [ + "LegalEntity", + "Site", + "Address" + ] } } }, - "BusinessPartnerStateDto": { + "BusinessState": { "type": "object", "properties": { "validFrom": { "type": "string", - "description": "Date since when the status is/was valid.", "format": "date-time" }, "validTo": { "type": "string", - "description": "Date until the status was valid, if applicable.", "format": "date-time" }, "type": { "type": "string", - "description": "The type of this specified status.", "enum": [ "ACTIVE", "INACTIVE" @@ -685,15 +262,7 @@ } } }, - "ConfidenceCriteriaDto": { - "required": [ - "checkedByExternalDataSource", - "confidenceLevel", - "lastConfidenceCheckAt", - "nextConfidenceCheckAt", - "numberOfSharingMembers", - "sharedByOwner" - ], + "ConfidenceCriteria": { "type": "object", "properties": { "sharedByOwner": { @@ -720,648 +289,270 @@ } } }, - "GeoCoordinateDto": { - "required": [ - "latitude", - "longitude" - ], + "GeoCoordinate": { "type": "object", "properties": { "longitude": { "type": "number", - "description": "Longitude coordinate", "format": "float" }, "latitude": { "type": "number", - "description": "Latitude coordinate", "format": "float" }, "altitude": { "type": "number", - "description": "Altitude, if applicable", "format": "float" } - }, - "description": "The exact location of the physical postal address in latitude, longitude, and altitude." + } + }, + "Identifier": { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "type": { + "type": "string" + }, + "issuingBody": { + "type": "string" + } + } }, - "LegalEntityDto": { + "LegalEntity": { "required": [ + "bpnReference", + "confidenceCriteria", "identifiers", + "legalAddress", "states" ], "type": "object", "properties": { - "bpnLReference": { - "$ref": "#/components/schemas/BpnReferenceDto" - }, - "hasChanged": { - "type": "boolean", - "description": "Whether this legal entity data is different from its golden record counterpart in the Pool" + "bpnReference": { + "$ref": "#/components/schemas/BpnReference" }, "legalName": { - "type": "string", - "description": "The name of the legal entity according to official registers." + "type": "string" }, "legalShortName": { - "type": "string", - "description": "The abbreviated name of the legal entity." + "type": "string" + }, + "legalForm": { + "type": "string" }, "identifiers": { "type": "array", - "description": "The list of identifiers of the legal entity.", "items": { - "$ref": "#/components/schemas/LegalEntityIdentifierDto" + "$ref": "#/components/schemas/Identifier" } }, - "legalForm": { - "type": "string", - "description": "The legal form of the legal entity." - }, "states": { "type": "array", - "description": "The list of (temporary) states of the legal entity.", "items": { - "$ref": "#/components/schemas/LegalEntityStateDto" + "$ref": "#/components/schemas/BusinessState" } }, - "legalAddress": { - "$ref": "#/components/schemas/LogisticAddressDto" - }, "confidenceCriteria": { - "$ref": "#/components/schemas/ConfidenceCriteriaDto" - } - }, - "description": "The legal entity part of this business partner data" - }, - "LegalEntityIdentifierDto": { - "required": [ - "type", - "value" - ], - "type": "object", - "properties": { - "value": { - "type": "string", - "description": "The value of the identifier like \"DE123465789\"." - }, - "type": { - "type": "string", - "description": "The type of the identifier." - }, - "issuingBody": { - "type": "string", - "description": "The name of the official register, where the identifier is registered. For example, a Handelsregisternummer in Germany is only valid with its corresponding Handelsregister." - } - } - }, - "LegalEntityRepresentation": { - "type": "object", - "properties": { - "legalEntityBpn": { - "type": "string", - "description": "The BPNL of the legal entity, on which the business partner provides a view." - }, - "legalName": { - "type": "string", - "description": "The name of the legal entity, on which the business partner provides a view, according to official registers." + "$ref": "#/components/schemas/ConfidenceCriteria" }, - "shortName": { - "type": "string", - "description": "The abbreviated name of the legal entity, on which the business partner provides a view." + "isCatenaXMemberData": { + "type": "boolean" }, - "legalForm": { - "type": "string", - "description": "The legal form of the legal entity, on which the business partner provides a view." + "hasChanged": { + "type": "boolean" }, - "confidenceCriteria": { - "$ref": "#/components/schemas/ConfidenceCriteriaDto" + "legalAddress": { + "$ref": "#/components/schemas/PostalAddress" } - }, - "description": "The legal entity, on which the business partner provides a view." + } }, - "LegalEntityStateDto": { + "NamePart": { "required": [ + "name", "type" ], "type": "object", "properties": { - "validFrom": { - "type": "string", - "description": "The date from which the state is valid.", - "format": "date-time" - }, - "validTo": { - "type": "string", - "description": "The date until the state is valid.", - "format": "date-time" + "name": { + "type": "string" }, "type": { "type": "string", - "description": "One of the state types: active, inactive.", "enum": [ - "ACTIVE", - "INACTIVE" + "LegalName", + "ShortName", + "LegalForm", + "SiteName", + "AddressName" ] } } }, - "LogisticAddressDto": { + "PhysicalAddress": { "required": [ - "identifiers", - "states" + "geographicCoordinates", + "street" ], - "type": "object", - "properties": { - "bpnAReference": { - "$ref": "#/components/schemas/BpnReferenceDto" - }, - "hasChanged": { - "type": "boolean", - "description": "Whether this address data is different from its golden record counterpart in the Pool" - }, - "name": { - "type": "string", - "description": "The name of the address. This is not according to official registers but according to the name the sharing member chooses." - }, - "states": { - "type": "array", - "description": "The list of (temporary) states of the address.", - "items": { - "$ref": "#/components/schemas/AddressStateDto" - } - }, - "identifiers": { - "type": "array", - "description": "The list of identifiers of the address.", - "items": { - "$ref": "#/components/schemas/AddressIdentifierDto" - } - }, - "physicalPostalAddress": { - "$ref": "#/components/schemas/PhysicalPostalAddressDto" - }, - "alternativePostalAddress": { - "$ref": "#/components/schemas/AlternativePostalAddressDto" - }, - "confidenceCriteria": { - "$ref": "#/components/schemas/ConfidenceCriteriaDto" - } - }, - "description": "The address part of this business partner data" - }, - "PhysicalPostalAddressDto": { "type": "object", "properties": { "geographicCoordinates": { - "$ref": "#/components/schemas/GeoCoordinateDto" + "$ref": "#/components/schemas/GeoCoordinate" }, "country": { - "type": "string", - "description": "The 2-digit country code of the physical postal address according to ISO 3166-1.", - "enum": [ - "UNDEFINED", - "AC", - "AD", - "AE", - "AF", - "AG", - "AI", - "AL", - "AM", - "AN", - "AO", - "AQ", - "AR", - "AS", - "AT", - "AU", - "AW", - "AX", - "AZ", - "BA", - "BB", - "BD", - "BE", - "BF", - "BG", - "BH", - "BI", - "BJ", - "BL", - "BM", - "BN", - "BO", - "BQ", - "BR", - "BS", - "BT", - "BU", - "BV", - "BW", - "BY", - "BZ", - "CA", - "CC", - "CD", - "CF", - "CG", - "CH", - "CI", - "CK", - "CL", - "CM", - "CN", - "CO", - "CP", - "CR", - "CS", - "CU", - "CV", - "CW", - "CX", - "CY", - "CZ", - "DE", - "DG", - "DJ", - "DK", - "DM", - "DO", - "DZ", - "EA", - "EC", - "EE", - "EG", - "EH", - "ER", - "ES", - "ET", - "EU", - "EZ", - "FI", - "FJ", - "FK", - "FM", - "FO", - "FR", - "FX", - "GA", - "GB", - "GD", - "GE", - "GF", - "GG", - "GH", - "GI", - "GL", - "GM", - "GN", - "GP", - "GQ", - "GR", - "GS", - "GT", - "GU", - "GW", - "GY", - "HK", - "HM", - "HN", - "HR", - "HT", - "HU", - "IC", - "ID", - "IE", - "IL", - "IM", - "IN", - "IO", - "IQ", - "IR", - "IS", - "IT", - "JE", - "JM", - "JO", - "JP", - "KE", - "KG", - "KH", - "KI", - "KM", - "KN", - "KP", - "KR", - "KW", - "KY", - "KZ", - "LA", - "LB", - "LC", - "LI", - "LK", - "LR", - "LS", - "LT", - "LU", - "LV", - "LY", - "MA", - "MC", - "MD", - "ME", - "MF", - "MG", - "MH", - "MK", - "ML", - "MM", - "MN", - "MO", - "MP", - "MQ", - "MR", - "MS", - "MT", - "MU", - "MV", - "MW", - "MX", - "MY", - "MZ", - "NA", - "NC", - "NE", - "NF", - "NG", - "NI", - "NL", - "NO", - "NP", - "NR", - "NT", - "NU", - "NZ", - "OM", - "PA", - "PE", - "PF", - "PG", - "PH", - "PK", - "PL", - "PM", - "PN", - "PR", - "PS", - "PT", - "PW", - "PY", - "QA", - "RE", - "RO", - "RS", - "RU", - "RW", - "SA", - "SB", - "SC", - "SD", - "SE", - "SF", - "SG", - "SH", - "SI", - "SJ", - "SK", - "SL", - "SM", - "SN", - "SO", - "SR", - "SS", - "ST", - "SU", - "SV", - "SX", - "SY", - "SZ", - "TA", - "TC", - "TD", - "TF", - "TG", - "TH", - "TJ", - "TK", - "TL", - "TM", - "TN", - "TO", - "TP", - "TR", - "TT", - "TV", - "TW", - "TZ", - "UA", - "UG", - "UK", - "UM", - "US", - "UY", - "UZ", - "VA", - "VC", - "VE", - "VG", - "VI", - "VN", - "VU", - "WF", - "WS", - "XI", - "XU", - "XK", - "YE", - "YT", - "YU", - "ZA", - "ZM", - "ZR", - "ZW" - ] + "type": "string" }, "administrativeAreaLevel1": { - "type": "string", - "description": "The 2-digit country subdivision code according to ISO 3166-2, such as a region within a country." + "type": "string" }, "administrativeAreaLevel2": { - "type": "string", - "description": "The name of the locally regulated secondary country subdivision of the physical postal address, such as county within a country." + "type": "string" }, "administrativeAreaLevel3": { - "type": "string", - "description": "The name of the locally regulated tertiary country subdivision of the physical address, such as townships within a country." + "type": "string" }, "postalCode": { - "type": "string", - "description": "The alphanumeric identifier (sometimes including spaces or punctuation) of the physical postal address for the purpose of sorting mail, synonyms:postcode, post code, PIN or ZIP code." + "type": "string" }, "city": { - "type": "string", - "description": "The name of the city of the physical postal address, synonyms: town, village, municipality." + "type": "string" }, "district": { - "type": "string", - "description": "The name of the district of the physical postal address which divides the city in several smaller areas." + "type": "string" }, "street": { - "$ref": "#/components/schemas/StreetDto" + "$ref": "#/components/schemas/Street" }, "companyPostalCode": { - "type": "string", - "description": "The company postal code of the physical postal address, which is sometimes required for large companies." + "type": "string" }, "industrialZone": { - "type": "string", - "description": "The industrial zone of the physical postal address, designating an area for industrial development, synonym: industrial area." + "type": "string" }, "building": { - "type": "string", - "description": "The alphanumeric identifier of the building addressed by the physical postal address." + "type": "string" }, "floor": { - "type": "string", - "description": "The number of a floor in the building addressed by the physical postal address, synonym: level." + "type": "string" }, "door": { - "type": "string", - "description": "The number of a door in the building on the respective floor addressed by the physical postal address, synonyms: room, suite." + "type": "string" } - }, - "description": "The physical postal address of the address, on which the business partner provides a view, such as an office, warehouse, gate, etc." + } }, - "SiteDto": { + "PostalAddress": { "required": [ + "bpnReference", + "confidenceCriteria", + "identifiers", + "physicalAddress", "states" ], "type": "object", "properties": { - "bpnSReference": { - "$ref": "#/components/schemas/BpnReferenceDto" + "bpnReference": { + "$ref": "#/components/schemas/BpnReference" }, - "hasChanged": { - "type": "boolean", - "description": "Whether this site data is different from its golden record counterpart in the Pool" + "addressName": { + "type": "string" }, - "name": { - "type": "string", - "description": "The name of the site. This is not according to official registers but according to the name the owner chooses." + "identifiers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Identifier" + } }, "states": { "type": "array", - "description": "The list of the (temporary) states of the site.", "items": { - "$ref": "#/components/schemas/SiteStateDto" + "$ref": "#/components/schemas/BusinessState" } }, - "mainAddress": { - "$ref": "#/components/schemas/LogisticAddressDto" - }, "confidenceCriteria": { - "$ref": "#/components/schemas/ConfidenceCriteriaDto" - } - }, - "description": "The site part of this business partner data" - }, - "SiteRepresentation": { - "type": "object", - "properties": { - "siteBpn": { - "type": "string", - "description": "The BPNS of the site, on which the business partner provides a view." + "$ref": "#/components/schemas/ConfidenceCriteria" }, - "name": { - "type": "string", - "description": "The name of the site, on which the business partner provides a view. This is not according to official registers but according to the name the owner chooses." + "physicalAddress": { + "$ref": "#/components/schemas/PhysicalAddress" }, - "confidenceCriteria": { - "$ref": "#/components/schemas/ConfidenceCriteriaDto" + "alternativeAddress": { + "$ref": "#/components/schemas/AlternativeAddress" + }, + "hasChanged": { + "type": "boolean" } - }, - "description": "The site, on which the business partner provides a view." + } }, - "SiteStateDto": { + "Site": { "required": [ - "type" + "bpnReference", + "confidenceCriteria", + "siteMainIsLegalAddress", + "states" ], "type": "object", "properties": { - "validFrom": { - "type": "string", - "description": "The date from which the state is valid.", - "format": "date-time" + "bpnReference": { + "$ref": "#/components/schemas/BpnReference" }, - "validTo": { - "type": "string", - "description": "The date until the state is valid.", - "format": "date-time" + "siteName": { + "type": "string" }, - "type": { - "type": "string", - "description": "One of the state types: active, inactive.", - "enum": [ - "ACTIVE", - "INACTIVE" - ] + "states": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BusinessState" + } + }, + "confidenceCriteria": { + "$ref": "#/components/schemas/ConfidenceCriteria" + }, + "hasChanged": { + "type": "boolean" + }, + "siteMainAddress": { + "$ref": "#/components/schemas/PostalAddress" + }, + "siteMainIsLegalAddress": { + "type": "boolean" } } }, - "StreetDto": { + "Street": { "type": "object", "properties": { "name": { - "type": "string", - "description": "The name of the street." + "type": "string" }, "houseNumber": { - "type": "string", - "description": "The number representing the exact location of a building within the street." + "type": "string" }, "houseNumberSupplement": { "type": "string" }, "milestone": { - "type": "string", - "description": "The number representing the exact location of an addressed object within a street without house numbers, such as within long roads." + "type": "string" }, "direction": { - "type": "string", - "description": "The cardinal direction describing where the exit to the location of the addressed object on large highways / motorways is located, such as Highway 101 South." + "type": "string" }, "namePrefix": { - "type": "string", - "description": "The street related information, which is usually printed before the official street name on an address label." + "type": "string" }, "additionalNamePrefix": { - "type": "string", - "description": "The additional street related information, which is usually printed before the official street name on an address label." + "type": "string" }, "nameSuffix": { - "type": "string", - "description": "The street related information, which is usually printed after the official street name on an address label." + "type": "string" }, "additionalNameSuffix": { - "type": "string", - "description": "The additional street related information, which is usually printed after the official street name on an address label." + "type": "string" } } }, "TaskClientStateDto": { "required": [ + "businessPartnerResult", "processingState", "taskId" ], @@ -1371,7 +562,7 @@ "type": "string" }, "businessPartnerResult": { - "$ref": "#/components/schemas/BusinessPartnerGenericDto" + "$ref": "#/components/schemas/BusinessPartner" }, "processingState": { "$ref": "#/components/schemas/TaskProcessingStateDto" @@ -1398,7 +589,7 @@ "type": "array", "description": "The list of business partner data to be processed", "items": { - "$ref": "#/components/schemas/BusinessPartnerGenericDto" + "$ref": "#/components/schemas/BusinessPartner" } } }, @@ -1540,6 +731,7 @@ "TaskStepReservationEntryDto": { "required": [ "businessPartner", + "requestKey", "taskId" ], "type": "object", @@ -1549,7 +741,7 @@ "description": "The identifier of the reserved task" }, "businessPartner": { - "$ref": "#/components/schemas/BusinessPartnerFullDto" + "$ref": "#/components/schemas/BusinessPartner" }, "requestKey": { "type": "string" @@ -1606,6 +798,7 @@ }, "TaskStepResultEntryDto": { "required": [ + "businessPartner", "errors", "taskId" ], @@ -1616,7 +809,7 @@ "description": "The identifier of the task for which this is a result" }, "businessPartner": { - "$ref": "#/components/schemas/BusinessPartnerFullDto" + "$ref": "#/components/schemas/BusinessPartner" }, "errors": { "type": "array", @@ -1652,6 +845,37 @@ } }, "description": "Request object for posting step results of previously reserved tasks" + }, + "UncategorizedProperties": { + "required": [ + "identifiers", + "nameParts", + "states" + ], + "type": "object", + "properties": { + "nameParts": { + "type": "array", + "items": { + "type": "string" + } + }, + "identifiers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Identifier" + } + }, + "states": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BusinessState" + } + }, + "address": { + "$ref": "#/components/schemas/PostalAddress" + } + } } } } diff --git a/docs/api/orchestrator.yaml b/docs/api/orchestrator.yaml index 295748e7e..b1e8ae716 100644 --- a/docs/api/orchestrator.yaml +++ b/docs/api/orchestrator.yaml @@ -2,12 +2,12 @@ openapi: 3.0.1 info: title: Business Partner Data Management Orchestrator description: Orchestrator component acts as a passive component and offers for each processing steps individual endpoints - version: 6.0.0-SNAPSHOT + version: 6.0.0 servers: - url: http://localhost:8085 description: Generated server url paths: - /golden-record-tasks: + /v6/golden-record-tasks: post: tags: - Task Client @@ -29,7 +29,7 @@ paths: $ref: '#/components/schemas/TaskCreateResponse' '400': description: On malformed task create requests or reaching upsert limit - /golden-record-tasks/step-results: + /v6/golden-record-tasks/step-results: post: tags: - Task Worker @@ -47,7 +47,7 @@ paths: description: If the results could be processed '400': description: On malformed requests, reaching upsert limit or posting results for tasks which are missing or in the wrong step queue - /golden-record-tasks/step-reservations: + /v6/golden-record-tasks/step-reservations: post: tags: - Task Worker @@ -69,7 +69,7 @@ paths: $ref: '#/components/schemas/TaskStepReservationResponse' '400': description: On malformed task create requests or reaching upsert limit - /golden-record-tasks/state/search: + /v6/golden-record-tasks/state/search: post: tags: - Task Client @@ -93,478 +93,85 @@ paths: description: On malformed task search requests components: schemas: - AddressIdentifierDto: + AlternativeAddress: required: - - type - - value - type: object - properties: - value: - type: string - description: The value of the identifier like "0847976000005". - type: - type: string - description: The type of the identifier. - AddressRepresentation: - type: object - properties: - addressBpn: - type: string - description: The BPNA of the address, on which the business partner provides a view. - name: - type: string - description: The name of the address, on which the business partner provides a view. This is not according to official registers but according to the name the sharing members agree on, such as the name of a gate or any other additional names that designate the address in common parlance. - addressType: - type: string - description: 'One of the address types: Legal Address, Site Main Address, Legal and Site Main Address, Additional Address. ' - enum: - - LegalAndSiteMainAddress - - LegalAddress - - SiteMainAddress - - AdditionalAddress - physicalPostalAddress: - $ref: '#/components/schemas/PhysicalPostalAddressDto' - alternativePostalAddress: - $ref: '#/components/schemas/AlternativePostalAddressDto' - confidenceCriteria: - $ref: '#/components/schemas/ConfidenceCriteriaDto' - description: 'The address, on which the business partner provides a view. ' - AddressStateDto: - required: - - type - type: object - properties: - validFrom: - type: string - description: The date from which the state is valid. - format: date-time - validTo: - type: string - description: The date until the state is valid. - format: date-time - type: - type: string - description: 'One of the state types: active, inactive.' - enum: - - ACTIVE - - INACTIVE - AlternativePostalAddressDto: + - geographicCoordinates type: object properties: geographicCoordinates: - $ref: '#/components/schemas/GeoCoordinateDto' + $ref: '#/components/schemas/GeoCoordinate' country: type: string - description: The 2-digit country code of the physical postal address according to ISO 3166-1. - enum: - - UNDEFINED - - AC - - AD - - AE - - AF - - AG - - AI - - AL - - AM - - AN - - AO - - AQ - - AR - - AS - - AT - - AU - - AW - - AX - - AZ - - BA - - BB - - BD - - BE - - BF - - BG - - BH - - BI - - BJ - - BL - - BM - - BN - - BO - - BQ - - BR - - BS - - BT - - BU - - BV - - BW - - BY - - BZ - - CA - - CC - - CD - - CF - - CG - - CH - - CI - - CK - - CL - - CM - - CN - - CO - - CP - - CR - - CS - - CU - - CV - - CW - - CX - - CY - - CZ - - DE - - DG - - DJ - - DK - - DM - - DO - - DZ - - EA - - EC - - EE - - EG - - EH - - ER - - ES - - ET - - EU - - EZ - - FI - - FJ - - FK - - FM - - FO - - FR - - FX - - GA - - GB - - GD - - GE - - GF - - GG - - GH - - GI - - GL - - GM - - GN - - GP - - GQ - - GR - - GS - - GT - - GU - - GW - - GY - - HK - - HM - - HN - - HR - - HT - - HU - - IC - - ID - - IE - - IL - - IM - - IN - - IO - - IQ - - IR - - IS - - IT - - JE - - JM - - JO - - JP - - KE - - KG - - KH - - KI - - KM - - KN - - KP - - KR - - KW - - KY - - KZ - - LA - - LB - - LC - - LI - - LK - - LR - - LS - - LT - - LU - - LV - - LY - - MA - - MC - - MD - - ME - - MF - - MG - - MH - - MK - - ML - - MM - - MN - - MO - - MP - - MQ - - MR - - MS - - MT - - MU - - MV - - MW - - MX - - MY - - MZ - - NA - - NC - - NE - - NF - - NG - - NI - - NL - - 'NO' - - NP - - NR - - NT - - NU - - NZ - - OM - - PA - - PE - - PF - - PG - - PH - - PK - - PL - - PM - - PN - - PR - - PS - - PT - - PW - - PY - - QA - - RE - - RO - - RS - - RU - - RW - - SA - - SB - - SC - - SD - - SE - - SF - - SG - - SH - - SI - - SJ - - SK - - SL - - SM - - SN - - SO - - SR - - SS - - ST - - SU - - SV - - SX - - SY - - SZ - - TA - - TC - - TD - - TF - - TG - - TH - - TJ - - TK - - TL - - TM - - TN - - TO - - TP - - TR - - TT - - TV - - TW - - TZ - - UA - - UG - - UK - - UM - - US - - UY - - UZ - - VA - - VC - - VE - - VG - - VI - - VN - - VU - - WF - - WS - - XI - - XU - - XK - - YE - - YT - - YU - - ZA - - ZM - - ZR - - ZW administrativeAreaLevel1: type: string - description: The 2-digit country subdivision code according to ISO 3166-2, such as a region within a country. postalCode: type: string - description: The alphanumeric identifier (sometimes including spaces or punctuation) of the physical postal address for the purpose of sorting mail, synonyms:postcode, post code, PIN or ZIP code. city: type: string - description: 'The name of the city of the physical postal address, synonyms: town, village, municipality.' deliveryServiceType: type: string - description: 'One of the alternative postal address types: P.O. box, private bag, boite postale.' enum: - PO_BOX - PRIVATE_BAG - BOITE_POSTALE deliveryServiceQualifier: type: string - description: The qualifier uniquely identifying the delivery service endpoint of the alternative postal address in conjunction with the delivery service number. In some countries for example, entering a P.O. box number, postal code and city is not sufficient to uniquely identify a P.O. box, because the same P.O. box number is assigned multiple times in some cities. deliveryServiceNumber: type: string - description: The number indicating the delivery service endpoint of the alternative postal address to which the delivery is to be delivered, such as a P.O. box number or a private bag number. - description: The alternative postal address of the address, on which the business partner provides a view, for example if the goods are to be picked up somewhere else. - BpnReferenceDto: - required: - - referenceType - - referenceValue + BpnReference: type: object properties: referenceValue: type: string - description: The value by which the BPN is referenced + desiredBpn: + type: string referenceType: type: string - description: The type by which to reference the BPN with enum: - Bpn - BpnRequestIdentifier - description: A reference to the BPN of a business partner. Either by the BPN value itself or a BPN request identifier - BusinessPartnerFullDto: - required: - - generic - type: object - properties: - generic: - $ref: '#/components/schemas/BusinessPartnerGenericDto' - legalEntity: - $ref: '#/components/schemas/LegalEntityDto' - site: - $ref: '#/components/schemas/SiteDto' - address: - $ref: '#/components/schemas/LogisticAddressDto' - description: Business partner data in full representation, consisting of generic data as well as its L/S/A representation. - BusinessPartnerGenericDto: + BusinessPartner: required: - - address - - identifiers - legalEntity - nameParts - - roles - - site - - states + - uncategorized type: object properties: nameParts: type: array - description: The list of name parts to accommodate the different number of name fields in different systems. - items: - type: string - identifiers: - type: array - description: The list of identifiers of the business partner. Sorted and duplicates removed by the service. items: - $ref: '#/components/schemas/BusinessPartnerIdentifierDto' - states: - type: array - description: The list of (temporary) states of the business partner. Sorted and duplicates removed by the service. - items: - $ref: '#/components/schemas/BusinessPartnerStateDto' - roles: - type: array - description: 'One or more of the roles, the business partner assumes with respect to the sharing member: Supplier, Customer. Sorted and duplicates removed by the service.' - items: - type: string - enum: - - SUPPLIER - - CUSTOMER - - ONE_TIME_SUPPLIER - - ONE_TIME_CUSTOMER + $ref: '#/components/schemas/NamePart' + owningCompany: + type: string + uncategorized: + $ref: '#/components/schemas/UncategorizedProperties' legalEntity: - $ref: '#/components/schemas/LegalEntityRepresentation' + $ref: '#/components/schemas/LegalEntity' site: - $ref: '#/components/schemas/SiteRepresentation' - address: - $ref: '#/components/schemas/AddressRepresentation' - ownerBpnL: - type: string - description: The BPNL of the company sharing and claiming this business partner as its own - description: Generic business partner with external id - BusinessPartnerIdentifierDto: - type: object - properties: + $ref: '#/components/schemas/Site' + additionalAddress: + $ref: '#/components/schemas/PostalAddress' type: type: string - description: Technical key of the type to which this identifier belongs to - value: - type: string - description: Value of the identifier - issuingBody: - type: string - description: Body which issued the identifier - BusinessPartnerStateDto: + enum: + - LegalEntity + - Site + - Address + BusinessState: type: object properties: validFrom: type: string - description: Date since when the status is/was valid. format: date-time validTo: type: string - description: Date until the status was valid, if applicable. format: date-time type: type: string - description: The type of this specified status. enum: - ACTIVE - INACTIVE - ConfidenceCriteriaDto: - required: - - checkedByExternalDataSource - - confidenceLevel - - lastConfidenceCheckAt - - nextConfidenceCheckAt - - numberOfSharingMembers - - sharedByOwner + ConfidenceCriteria: type: object properties: sharedByOwner: @@ -583,545 +190,187 @@ components: confidenceLevel: type: integer format: int32 - GeoCoordinateDto: - required: - - latitude - - longitude + GeoCoordinate: type: object properties: longitude: type: number - description: Longitude coordinate format: float latitude: type: number - description: Latitude coordinate format: float altitude: type: number - description: Altitude, if applicable format: float - description: The exact location of the physical postal address in latitude, longitude, and altitude. - LegalEntityDto: - required: - - identifiers - - states - type: object - properties: - bpnLReference: - $ref: '#/components/schemas/BpnReferenceDto' - hasChanged: - type: boolean - description: Whether this legal entity data is different from its golden record counterpart in the Pool - legalName: - type: string - description: The name of the legal entity according to official registers. - legalShortName: - type: string - description: The abbreviated name of the legal entity. - identifiers: - type: array - description: The list of identifiers of the legal entity. - items: - $ref: '#/components/schemas/LegalEntityIdentifierDto' - legalForm: - type: string - description: The legal form of the legal entity. - states: - type: array - description: The list of (temporary) states of the legal entity. - items: - $ref: '#/components/schemas/LegalEntityStateDto' - legalAddress: - $ref: '#/components/schemas/LogisticAddressDto' - confidenceCriteria: - $ref: '#/components/schemas/ConfidenceCriteriaDto' - description: The legal entity part of this business partner data - LegalEntityIdentifierDto: - required: - - type - - value + Identifier: type: object properties: value: type: string - description: The value of the identifier like "DE123465789". type: type: string - description: The type of the identifier. issuingBody: type: string - description: The name of the official register, where the identifier is registered. For example, a Handelsregisternummer in Germany is only valid with its corresponding Handelsregister. - LegalEntityRepresentation: + LegalEntity: + required: + - bpnReference + - confidenceCriteria + - identifiers + - legalAddress + - states type: object properties: - legalEntityBpn: - type: string - description: The BPNL of the legal entity, on which the business partner provides a view. + bpnReference: + $ref: '#/components/schemas/BpnReference' legalName: type: string - description: The name of the legal entity, on which the business partner provides a view, according to official registers. - shortName: + legalShortName: type: string - description: The abbreviated name of the legal entity, on which the business partner provides a view. legalForm: type: string - description: The legal form of the legal entity, on which the business partner provides a view. + identifiers: + type: array + items: + $ref: '#/components/schemas/Identifier' + states: + type: array + items: + $ref: '#/components/schemas/BusinessState' confidenceCriteria: - $ref: '#/components/schemas/ConfidenceCriteriaDto' - description: The legal entity, on which the business partner provides a view. - LegalEntityStateDto: + $ref: '#/components/schemas/ConfidenceCriteria' + isCatenaXMemberData: + type: boolean + hasChanged: + type: boolean + legalAddress: + $ref: '#/components/schemas/PostalAddress' + NamePart: required: + - name - type type: object properties: - validFrom: - type: string - description: The date from which the state is valid. - format: date-time - validTo: + name: type: string - description: The date until the state is valid. - format: date-time type: type: string - description: 'One of the state types: active, inactive.' enum: - - ACTIVE - - INACTIVE - LogisticAddressDto: + - LegalName + - ShortName + - LegalForm + - SiteName + - AddressName + PhysicalAddress: required: - - identifiers - - states - type: object - properties: - bpnAReference: - $ref: '#/components/schemas/BpnReferenceDto' - hasChanged: - type: boolean - description: Whether this address data is different from its golden record counterpart in the Pool - name: - type: string - description: The name of the address. This is not according to official registers but according to the name the sharing member chooses. - states: - type: array - description: The list of (temporary) states of the address. - items: - $ref: '#/components/schemas/AddressStateDto' - identifiers: - type: array - description: The list of identifiers of the address. - items: - $ref: '#/components/schemas/AddressIdentifierDto' - physicalPostalAddress: - $ref: '#/components/schemas/PhysicalPostalAddressDto' - alternativePostalAddress: - $ref: '#/components/schemas/AlternativePostalAddressDto' - confidenceCriteria: - $ref: '#/components/schemas/ConfidenceCriteriaDto' - description: The address part of this business partner data - PhysicalPostalAddressDto: + - geographicCoordinates + - street type: object properties: geographicCoordinates: - $ref: '#/components/schemas/GeoCoordinateDto' + $ref: '#/components/schemas/GeoCoordinate' country: type: string - description: The 2-digit country code of the physical postal address according to ISO 3166-1. - enum: - - UNDEFINED - - AC - - AD - - AE - - AF - - AG - - AI - - AL - - AM - - AN - - AO - - AQ - - AR - - AS - - AT - - AU - - AW - - AX - - AZ - - BA - - BB - - BD - - BE - - BF - - BG - - BH - - BI - - BJ - - BL - - BM - - BN - - BO - - BQ - - BR - - BS - - BT - - BU - - BV - - BW - - BY - - BZ - - CA - - CC - - CD - - CF - - CG - - CH - - CI - - CK - - CL - - CM - - CN - - CO - - CP - - CR - - CS - - CU - - CV - - CW - - CX - - CY - - CZ - - DE - - DG - - DJ - - DK - - DM - - DO - - DZ - - EA - - EC - - EE - - EG - - EH - - ER - - ES - - ET - - EU - - EZ - - FI - - FJ - - FK - - FM - - FO - - FR - - FX - - GA - - GB - - GD - - GE - - GF - - GG - - GH - - GI - - GL - - GM - - GN - - GP - - GQ - - GR - - GS - - GT - - GU - - GW - - GY - - HK - - HM - - HN - - HR - - HT - - HU - - IC - - ID - - IE - - IL - - IM - - IN - - IO - - IQ - - IR - - IS - - IT - - JE - - JM - - JO - - JP - - KE - - KG - - KH - - KI - - KM - - KN - - KP - - KR - - KW - - KY - - KZ - - LA - - LB - - LC - - LI - - LK - - LR - - LS - - LT - - LU - - LV - - LY - - MA - - MC - - MD - - ME - - MF - - MG - - MH - - MK - - ML - - MM - - MN - - MO - - MP - - MQ - - MR - - MS - - MT - - MU - - MV - - MW - - MX - - MY - - MZ - - NA - - NC - - NE - - NF - - NG - - NI - - NL - - 'NO' - - NP - - NR - - NT - - NU - - NZ - - OM - - PA - - PE - - PF - - PG - - PH - - PK - - PL - - PM - - PN - - PR - - PS - - PT - - PW - - PY - - QA - - RE - - RO - - RS - - RU - - RW - - SA - - SB - - SC - - SD - - SE - - SF - - SG - - SH - - SI - - SJ - - SK - - SL - - SM - - SN - - SO - - SR - - SS - - ST - - SU - - SV - - SX - - SY - - SZ - - TA - - TC - - TD - - TF - - TG - - TH - - TJ - - TK - - TL - - TM - - TN - - TO - - TP - - TR - - TT - - TV - - TW - - TZ - - UA - - UG - - UK - - UM - - US - - UY - - UZ - - VA - - VC - - VE - - VG - - VI - - VN - - VU - - WF - - WS - - XI - - XU - - XK - - YE - - YT - - YU - - ZA - - ZM - - ZR - - ZW administrativeAreaLevel1: type: string - description: The 2-digit country subdivision code according to ISO 3166-2, such as a region within a country. administrativeAreaLevel2: type: string - description: The name of the locally regulated secondary country subdivision of the physical postal address, such as county within a country. administrativeAreaLevel3: type: string - description: The name of the locally regulated tertiary country subdivision of the physical address, such as townships within a country. postalCode: type: string - description: The alphanumeric identifier (sometimes including spaces or punctuation) of the physical postal address for the purpose of sorting mail, synonyms:postcode, post code, PIN or ZIP code. city: type: string - description: 'The name of the city of the physical postal address, synonyms: town, village, municipality.' district: type: string - description: The name of the district of the physical postal address which divides the city in several smaller areas. street: - $ref: '#/components/schemas/StreetDto' + $ref: '#/components/schemas/Street' companyPostalCode: type: string - description: The company postal code of the physical postal address, which is sometimes required for large companies. industrialZone: type: string - description: 'The industrial zone of the physical postal address, designating an area for industrial development, synonym: industrial area.' building: type: string - description: The alphanumeric identifier of the building addressed by the physical postal address. floor: type: string - description: 'The number of a floor in the building addressed by the physical postal address, synonym: level.' door: type: string - description: 'The number of a door in the building on the respective floor addressed by the physical postal address, synonyms: room, suite.' - description: The physical postal address of the address, on which the business partner provides a view, such as an office, warehouse, gate, etc. - SiteDto: + PostalAddress: required: + - bpnReference + - confidenceCriteria + - identifiers + - physicalAddress - states type: object properties: - bpnSReference: - $ref: '#/components/schemas/BpnReferenceDto' - hasChanged: - type: boolean - description: Whether this site data is different from its golden record counterpart in the Pool - name: + bpnReference: + $ref: '#/components/schemas/BpnReference' + addressName: type: string - description: The name of the site. This is not according to official registers but according to the name the owner chooses. + identifiers: + type: array + items: + $ref: '#/components/schemas/Identifier' states: type: array - description: The list of the (temporary) states of the site. items: - $ref: '#/components/schemas/SiteStateDto' - mainAddress: - $ref: '#/components/schemas/LogisticAddressDto' - confidenceCriteria: - $ref: '#/components/schemas/ConfidenceCriteriaDto' - description: The site part of this business partner data - SiteRepresentation: - type: object - properties: - siteBpn: - type: string - description: The BPNS of the site, on which the business partner provides a view. - name: - type: string - description: The name of the site, on which the business partner provides a view. This is not according to official registers but according to the name the owner chooses. + $ref: '#/components/schemas/BusinessState' confidenceCriteria: - $ref: '#/components/schemas/ConfidenceCriteriaDto' - description: The site, on which the business partner provides a view. - SiteStateDto: + $ref: '#/components/schemas/ConfidenceCriteria' + physicalAddress: + $ref: '#/components/schemas/PhysicalAddress' + alternativeAddress: + $ref: '#/components/schemas/AlternativeAddress' + hasChanged: + type: boolean + Site: required: - - type + - bpnReference + - confidenceCriteria + - siteMainIsLegalAddress + - states type: object properties: - validFrom: - type: string - description: The date from which the state is valid. - format: date-time - validTo: - type: string - description: The date until the state is valid. - format: date-time - type: + bpnReference: + $ref: '#/components/schemas/BpnReference' + siteName: type: string - description: 'One of the state types: active, inactive.' - enum: - - ACTIVE - - INACTIVE - StreetDto: + states: + type: array + items: + $ref: '#/components/schemas/BusinessState' + confidenceCriteria: + $ref: '#/components/schemas/ConfidenceCriteria' + hasChanged: + type: boolean + siteMainAddress: + $ref: '#/components/schemas/PostalAddress' + siteMainIsLegalAddress: + type: boolean + Street: type: object properties: name: type: string - description: The name of the street. houseNumber: type: string - description: The number representing the exact location of a building within the street. houseNumberSupplement: type: string milestone: type: string - description: The number representing the exact location of an addressed object within a street without house numbers, such as within long roads. direction: type: string - description: The cardinal direction describing where the exit to the location of the addressed object on large highways / motorways is located, such as Highway 101 South. namePrefix: type: string - description: The street related information, which is usually printed before the official street name on an address label. additionalNamePrefix: type: string - description: The additional street related information, which is usually printed before the official street name on an address label. nameSuffix: type: string - description: The street related information, which is usually printed after the official street name on an address label. additionalNameSuffix: type: string - description: The additional street related information, which is usually printed after the official street name on an address label. TaskClientStateDto: required: + - businessPartnerResult - processingState - taskId type: object @@ -1129,7 +378,7 @@ components: taskId: type: string businessPartnerResult: - $ref: '#/components/schemas/BusinessPartnerGenericDto' + $ref: '#/components/schemas/BusinessPartner' processingState: $ref: '#/components/schemas/TaskProcessingStateDto' description: The golden record task's processing state together with optional business partner data in case processing is done @@ -1149,7 +398,7 @@ components: type: array description: The list of business partner data to be processed items: - $ref: '#/components/schemas/BusinessPartnerGenericDto' + $ref: '#/components/schemas/BusinessPartner' description: Request object to specify for which business partner data tasks should be created and in which mode TaskCreateResponse: required: @@ -1252,6 +501,7 @@ components: TaskStepReservationEntryDto: required: - businessPartner + - requestKey - taskId type: object properties: @@ -1259,7 +509,7 @@ components: type: string description: The identifier of the reserved task businessPartner: - $ref: '#/components/schemas/BusinessPartnerFullDto' + $ref: '#/components/schemas/BusinessPartner' requestKey: type: string description: Task reservation entry @@ -1300,6 +550,7 @@ components: description: Response object for giving a list of reserved tasks TaskStepResultEntryDto: required: + - businessPartner - errors - taskId type: object @@ -1308,7 +559,7 @@ components: type: string description: The identifier of the task for which this is a result businessPartner: - $ref: '#/components/schemas/BusinessPartnerFullDto' + $ref: '#/components/schemas/BusinessPartner' errors: type: array description: Errors that occurred during processing of this task @@ -1333,3 +584,24 @@ components: items: $ref: '#/components/schemas/TaskStepResultEntryDto' description: Request object for posting step results of previously reserved tasks + UncategorizedProperties: + required: + - identifiers + - nameParts + - states + type: object + properties: + nameParts: + type: array + items: + type: string + identifiers: + type: array + items: + $ref: '#/components/schemas/Identifier' + states: + type: array + items: + $ref: '#/components/schemas/BusinessState' + address: + $ref: '#/components/schemas/PostalAddress' diff --git a/docs/api/pool.json b/docs/api/pool.json index 7cade30fd..40e3ee022 100644 --- a/docs/api/pool.json +++ b/docs/api/pool.json @@ -3,7 +3,7 @@ "info": { "title": "Business Partner Data Management Pool", "description": "Service that manages and shares business partner data with other CatenaX services", - "version": "6.0.0-SNAPSHOT" + "version": "6.0.0" }, "servers": [ { @@ -38,15 +38,45 @@ } ], "paths": { - "/sites": { + "/v6/sites": { "get": { "tags": [ "Site Controller" ], "summary": "Get page of sites matching the pagination search criteria", "description": "This endpoint retrieves all existing business partners of type sites.", - "operationId": "getSitesPaginated", + "operationId": "getSites", "parameters": [ + { + "name": "siteBpns", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "legalEntityBpns", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "name", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, { "name": "page", "in": "query", @@ -77,7 +107,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageDtoSiteMatchVerboseDto" + "$ref": "#/components/schemas/PageDtoSiteWithMainAddressVerboseDto" } } } @@ -160,19 +190,29 @@ } } }, - "/legal-entities": { + "/v6/legal-entities": { "get": { "tags": [ "Legal Entity Controller" ], "summary": "Returns legal entities by different search parameters", - "description": "This endpoint tries to find matches among all existing business partners of type legal entity, filtering out partners which entirely do not match and ranking the remaining partners according to the accuracy of the match. The match of a partner is better the higher its relevancy score. ", + "description": "This endpoint tries to find matches among all existing business partners of type legal entity, filtering out partners which entirely do not match and ranking the remaining partners according to the accuracy of the match. ", "operationId": "getLegalEntities", "parameters": [ + { + "name": "bpnLs", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, { "name": "legalName", "in": "query", - "description": "Filter legal entities by name", "required": false, "schema": { "type": "string" @@ -208,7 +248,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageDtoLegalEntityMatchVerboseDto" + "$ref": "#/components/schemas/PageDtoLegalEntityWithLegalAddressVerboseDto" } } } @@ -291,7 +331,7 @@ } } }, - "/addresses": { + "/v6/addresses": { "get": { "tags": [ "Address Controller" @@ -300,10 +340,42 @@ "description": "This endpoint tries to find matches among all existing business partners of type address, filtering out partners which entirely do not match and ranking the remaining partners according to the accuracy of the match. The match of a partner is better the higher its relevancy score. ", "operationId": "getAddresses_1", "parameters": [ + { + "name": "addressBpns", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "legalEntityBpns", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "siteBpns", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, { "name": "name", "in": "query", - "description": "Filter business partners by name", "required": false, "schema": { "type": "string" @@ -339,7 +411,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageDtoAddressMatchVerboseDto" + "$ref": "#/components/schemas/PageDtoLogisticAddressVerboseDto" } } } @@ -422,14 +494,14 @@ } } }, - "/sites/search": { + "/v6/sites/search": { "post": { "tags": [ "Site Controller" ], "summary": "Returns sites by an array of BPNS and/or an array of corresponding BPNL", "description": "Search business partners of type site by their BPNSs or by the BPNLs of their parent legal entities", - "operationId": "searchSites", + "operationId": "postSiteSearch", "parameters": [ { "name": "page", @@ -459,7 +531,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SiteBpnSearchRequest" + "$ref": "#/components/schemas/SiteSearchRequest" } } }, @@ -482,12 +554,12 @@ } } }, - "/members/sites/search": { + "/v6/members/sites/search": { "post": { "tags": [ "Site Controller" ], - "operationId": "searchSites_1", + "operationId": "postSiteSearch_1", "parameters": [ { "name": "page", @@ -537,7 +609,7 @@ } } }, - "/members/legal-entities/search": { + "/v6/members/legal-entities/search": { "post": { "tags": [ "Legal Entity Controller" @@ -592,7 +664,7 @@ } } }, - "/members/changelog/search": { + "/v6/members/changelog/search": { "post": { "tags": [ "Changelog Controller" @@ -647,7 +719,7 @@ } } }, - "/members/addresses/search": { + "/v6/members/addresses/search": { "post": { "tags": [ "Address Controller" @@ -702,7 +774,7 @@ } } }, - "/legal-forms": { + "/v6/legal-forms": { "get": { "tags": [ "Metadata Controller" @@ -788,22 +860,44 @@ } } }, - "/legal-entities/search": { + "/v6/legal-entities/search": { "post": { "tags": [ "Legal Entity Controller" ], - "summary": "Returns legal entities by an array of BPNL", + "summary": "Returns legal entities by different search parameters", "description": "Search legal entity partners by their BPNLs. The response can contain less results than the number of BPNLs that were requested, if some of the BPNLs did not exist. For a single request, the maximum number of BPNLs to search for is limited to ${bpdm.bpn.search-request-limit} entries.", - "operationId": "searchLegalEntitys", + "operationId": "postLegalEntitySearch", + "parameters": [ + { + "name": "page", + "in": "query", + "description": "Number of page to get results from", + "required": false, + "schema": { + "minimum": 0, + "type": "string", + "default": "0" + } + }, + { + "name": "size", + "in": "query", + "description": "Size of each page", + "required": false, + "schema": { + "maximum": 100, + "minimum": 0, + "type": "string", + "default": "10" + } + } + ], "requestBody": { "content": { "application/json": { "schema": { - "type": "array", - "items": { - "type": "string" - } + "$ref": "#/components/schemas/LegalEntitySearchRequest" } } }, @@ -815,10 +909,7 @@ "content": { "application/json": { "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/LegalEntityWithLegalAddressVerboseDto" - } + "$ref": "#/components/schemas/PageDtoLegalEntityWithLegalAddressVerboseDto" } } } @@ -829,7 +920,7 @@ } } }, - "/identifier-types": { + "/v6/identifier-types": { "get": { "tags": [ "Metadata Controller" @@ -1210,7 +1301,7 @@ } } }, - "/business-partners/changelog/search": { + "/v6/business-partners/changelog/search": { "post": { "tags": [ "Changelog Controller" @@ -1272,7 +1363,7 @@ } } }, - "/bpn/search": { + "/v6/bpn/search": { "post": { "tags": [ "Bpn Controller" @@ -1314,7 +1405,7 @@ } } }, - "/addresses/search": { + "/v6/addresses/search": { "post": { "tags": [ "Address Controller" @@ -1351,7 +1442,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AddressPartnerBpnSearchRequest" + "$ref": "#/components/schemas/AddressSearchRequest" } } }, @@ -1374,7 +1465,7 @@ } } }, - "/sites/{bpns}": { + "/v6/sites/{bpns}": { "get": { "tags": [ "Site Controller" @@ -1413,7 +1504,7 @@ } } }, - "/legal-entities/{idValue}": { + "/v6/legal-entities/{idValue}": { "get": { "tags": [ "Legal Entity Controller" @@ -1462,14 +1553,14 @@ } } }, - "/legal-entities/{bpnl}/sites": { + "/v6/legal-entities/{bpnl}/sites": { "get": { "tags": [ "Legal Entity Controller" ], "summary": "Returns all sites of a legal entity with a specific BPNL", "description": "Get business partners of type site belonging to a business partner of type legal entity, identified by the business partner's bpnl ignoring case.", - "operationId": "getSites", + "operationId": "getSites_1", "parameters": [ { "name": "bpnl", @@ -1524,7 +1615,7 @@ } } }, - "/legal-entities/{bpnl}/addresses": { + "/v6/legal-entities/{bpnl}/addresses": { "get": { "tags": [ "Legal Entity Controller" @@ -1586,7 +1677,7 @@ } } }, - "/field-quality-rules/": { + "/v6/field-quality-rules/": { "get": { "tags": [ "Metadata Controller" @@ -1899,7 +1990,7 @@ } } }, - "/administrative-areas-level1": { + "/v6/administrative-areas-level1": { "get": { "tags": [ "Metadata Controller" @@ -1949,7 +2040,7 @@ } } }, - "/addresses/{bpna}": { + "/v6/addresses/{bpna}": { "get": { "tags": [ "Address Controller" @@ -2026,59 +2117,6 @@ }, "description": "An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)." }, - "AddressMatchVerboseDto": { - "required": [ - "address", - "score" - ], - "type": "object", - "properties": { - "score": { - "type": "number", - "description": "Relative quality score of the match. The higher the better.", - "format": "float" - }, - "address": { - "$ref": "#/components/schemas/LogisticAddressVerboseDto" - } - }, - "description": "Match for a business partner record of type address. In general, an address is a collection of information to describe a physical location, using a street name with a house number and/or a post office box as reference. In addition, an address consists of several postal attributes, such as country, region (state), county, township, city, district, or postal code, which help deliver mail.In Catena-X, an address is a type of business partner representing the legal address of a legal entity, and/or the main address of a site, or any additional address of a legal entity or site (such as different gates).An address is owned by a legal entity. Thus, exactly one legal entity is assigned to an address. An address can belong to a site. Thus, one or no site is assigned to an address. An address is uniquely identified by the BPNA." - }, - "AddressPartnerBpnSearchRequest": { - "required": [ - "addresses", - "legalEntities", - "sites" - ], - "type": "object", - "properties": { - "legalEntities": { - "type": "array", - "description": "Filter by Business Partner Numbers of legal entities which are at that address", - "items": { - "type": "string", - "description": "Filter by Business Partner Numbers of legal entities which are at that address" - } - }, - "sites": { - "type": "array", - "description": "Filter by Business Partner Numbers of sites which are at that address", - "items": { - "type": "string", - "description": "Filter by Business Partner Numbers of sites which are at that address" - } - }, - "addresses": { - "type": "array", - "description": "Filter by BPNA of addresses", - "items": { - "type": "string", - "description": "Filter by BPNA of addresses" - } - } - }, - "description": "Request for searching business partners of type address by parent BPNs" - }, "AddressPartnerCreateRequest": { "required": [ "bpnParent", @@ -2151,11 +2189,11 @@ "$ref": "#/components/schemas/ErrorInfoAddressCreateError" } }, - "errorCount": { + "entityCount": { "type": "integer", "format": "int32" }, - "entityCount": { + "errorCount": { "type": "integer", "format": "int32" } @@ -2212,7 +2250,8 @@ "description": "The BPNS of the site the address belongs to." }, "isCatenaXMemberData": { - "type": "boolean" + "type": "boolean", + "description": "Indicates whether the address is owned and thus provided by a Catena-X Member." }, "createdAt": { "type": "string", @@ -2313,11 +2352,11 @@ "$ref": "#/components/schemas/ErrorInfoAddressUpdateError" } }, - "errorCount": { + "entityCount": { "type": "integer", "format": "int32" }, - "entityCount": { + "errorCount": { "type": "integer", "format": "int32" } @@ -4109,95 +4148,11 @@ }, "description": "A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc." }, - "LegalEntityMatchVerboseDto": { - "required": [ - "bpnl", - "confidenceCriteria", - "createdAt", - "currentness", - "identifiers", - "isCatenaXMemberData", - "legalAddress", - "legalName", - "relations", - "score", - "states", - "updatedAt" - ], - "type": "object", - "properties": { - "score": { - "type": "number", - "description": "Relative quality score of the match. The higher the better.", - "format": "float" - }, - "bpnl": { - "type": "string", - "description": "A BPNL represents and uniquely identifies a legal entity, which is defined by its legal name (including legal form, if registered), legal address and tax number." - }, - "legalName": { - "type": "string", - "description": "The name of the legal entity according to official registers." - }, - "legalShortName": { - "type": "string", - "description": "The abbreviated name of the legal entity." - }, - "legalForm": { - "$ref": "#/components/schemas/LegalFormDto" - }, - "identifiers": { - "type": "array", - "description": "The list of identifiers of the legal entity.", - "items": { - "$ref": "#/components/schemas/LegalEntityIdentifierVerboseDto" - } - }, - "states": { - "type": "array", - "description": "The list of (temporary) states of the legal entity.", - "items": { - "$ref": "#/components/schemas/LegalEntityStateVerboseDto" - } - }, - "relations": { - "type": "array", - "description": "Relations to other business partners.", - "items": { - "$ref": "#/components/schemas/RelationVerboseDto" - } - }, - "currentness": { - "type": "string", - "description": "The date the business partner data was last indicated to be still current.", - "format": "date-time" - }, - "confidenceCriteria": { - "$ref": "#/components/schemas/ConfidenceCriteriaDto" - }, - "isCatenaXMemberData": { - "type": "boolean" - }, - "createdAt": { - "type": "string", - "description": "The date when the data record has been created.", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "description": "The date when the data record has been last updated.", - "format": "date-time" - }, - "legalAddress": { - "$ref": "#/components/schemas/LogisticAddressVerboseDto" - } - }, - "description": "Match with score for a business partner record of type legal entity. In general, a legal entity is a juridical person that has legal rights and duties related to contracts, agreements, and obligations. The term especially applies to any kind of organization (such as an enterprise or company, university, association, etc.) established under the law applicable to a country.In Catena-X, a legal entity is a type of business partner representing a legally registered organization with its official registration information, such as legal name (including legal form, if registered), legal address and tax number.A legal entity has exactly one legal address, but it is possible to specify additional addresses that a legal entity owns. Thus, at least one address is assigned to a legal entity. A legal entity can own sites. Thus, many or no sites are assigned to a legal entity. A legal entity is uniquely identified by the BPNL." - }, "LegalEntityPartnerCreateRequest": { "required": [ "confidenceCriteria", "identifiers", + "isCatenaXMemberData", "legalAddress", "legalName", "states" @@ -4233,6 +4188,10 @@ "confidenceCriteria": { "$ref": "#/components/schemas/ConfidenceCriteriaDto" }, + "isCatenaXMemberData": { + "type": "boolean", + "description": "Indicates whether the legal entity is owned and thus provided by a Catena-X Member." + }, "legalAddress": { "$ref": "#/components/schemas/LogisticAddressDto" }, @@ -4267,11 +4226,11 @@ "$ref": "#/components/schemas/ErrorInfoLegalEntityCreateError" } }, - "errorCount": { + "entityCount": { "type": "integer", "format": "int32" }, - "entityCount": { + "errorCount": { "type": "integer", "format": "int32" } @@ -4339,7 +4298,8 @@ "$ref": "#/components/schemas/ConfidenceCriteriaDto" }, "isCatenaXMemberData": { - "type": "boolean" + "type": "boolean", + "description": "Indicates whether the legal entity is owned and thus provided by a Catena-X Member." }, "createdAt": { "type": "string", @@ -4366,6 +4326,7 @@ "bpnl", "confidenceCriteria", "identifiers", + "isCatenaXMemberData", "legalAddress", "legalName", "requestKey", @@ -4406,6 +4367,10 @@ "confidenceCriteria": { "$ref": "#/components/schemas/ConfidenceCriteriaDto" }, + "isCatenaXMemberData": { + "type": "boolean", + "description": "Indicates whether the legal entity is owned and thus provided by a Catena-X Member." + }, "legalAddress": { "$ref": "#/components/schemas/LogisticAddressDto" }, @@ -4436,11 +4401,11 @@ "$ref": "#/components/schemas/ErrorInfoLegalEntityUpdateError" } }, - "errorCount": { + "entityCount": { "type": "integer", "format": "int32" }, - "entityCount": { + "errorCount": { "type": "integer", "format": "int32" } @@ -4574,7 +4539,8 @@ "$ref": "#/components/schemas/ConfidenceCriteriaDto" }, "isCatenaXMemberData": { - "type": "boolean" + "type": "boolean", + "description": "Indicates whether the legal entity is owned and thus provided by a Catena-X Member." }, "createdAt": { "type": "string", @@ -4725,7 +4691,8 @@ "description": "The BPNS of the site the address belongs to." }, "isCatenaXMemberData": { - "type": "boolean" + "type": "boolean", + "description": "Indicates whether the address is owned and thus provided by a Catena-X Member." }, "createdAt": { "type": "string", @@ -4753,46 +4720,6 @@ }, "description": "In general, an address is a collection of information to describe a physical location, using a street name with a house number and/or a post office box as reference. In addition, an address consists of several postal attributes, such as country, region (state), county, township, city, district, or postal code, which help deliver mail.In Catena-X, an address is a type of business partner representing the legal address of a legal entity, and/or the main address of a site, or any additional address of a legal entity or site (such as different gates).An address is owned by a legal entity. Thus, exactly one legal entity is assigned to an address. An address can belong to a site. Thus, one or no site is assigned to an address. An address is uniquely identified by the BPNA." }, - "PageDtoAddressMatchVerboseDto": { - "required": [ - "content", - "contentSize", - "page", - "totalElements", - "totalPages" - ], - "type": "object", - "properties": { - "totalElements": { - "type": "integer", - "description": "Total number of all results in all pages", - "format": "int64" - }, - "totalPages": { - "type": "integer", - "description": "Total number pages", - "format": "int32" - }, - "page": { - "type": "integer", - "description": "Current page number", - "format": "int32" - }, - "contentSize": { - "type": "integer", - "description": "Number of results in the page", - "format": "int32" - }, - "content": { - "type": "array", - "description": "Collection of results in the page", - "items": { - "$ref": "#/components/schemas/AddressMatchVerboseDto" - } - } - }, - "description": "Paginated collection of results" - }, "PageDtoChangelogEntryVerboseDto": { "required": [ "content", @@ -4913,46 +4840,6 @@ }, "description": "Paginated collection of results" }, - "PageDtoLegalEntityMatchVerboseDto": { - "required": [ - "content", - "contentSize", - "page", - "totalElements", - "totalPages" - ], - "type": "object", - "properties": { - "totalElements": { - "type": "integer", - "description": "Total number of all results in all pages", - "format": "int64" - }, - "totalPages": { - "type": "integer", - "description": "Total number pages", - "format": "int32" - }, - "page": { - "type": "integer", - "description": "Current page number", - "format": "int32" - }, - "contentSize": { - "type": "integer", - "description": "Number of results in the page", - "format": "int32" - }, - "content": { - "type": "array", - "description": "Collection of results in the page", - "items": { - "$ref": "#/components/schemas/LegalEntityMatchVerboseDto" - } - } - }, - "description": "Paginated collection of results" - }, "PageDtoLegalEntityWithLegalAddressVerboseDto": { "required": [ "content", @@ -5073,46 +4960,6 @@ }, "description": "Paginated collection of results" }, - "PageDtoSiteMatchVerboseDto": { - "required": [ - "content", - "contentSize", - "page", - "totalElements", - "totalPages" - ], - "type": "object", - "properties": { - "totalElements": { - "type": "integer", - "description": "Total number of all results in all pages", - "format": "int64" - }, - "totalPages": { - "type": "integer", - "description": "Total number pages", - "format": "int32" - }, - "page": { - "type": "integer", - "description": "Current page number", - "format": "int32" - }, - "contentSize": { - "type": "integer", - "description": "Number of results in the page", - "format": "int32" - }, - "content": { - "type": "array", - "description": "Collection of results in the page", - "items": { - "$ref": "#/components/schemas/SiteMatchVerboseDto" - } - } - }, - "description": "Paginated collection of results" - }, "PageDtoSiteVerboseDto": { "required": [ "content", @@ -5922,47 +5769,6 @@ }, "description": "Directed relation between two business partners" }, - "SiteBpnSearchRequest": { - "required": [ - "legalEntities", - "sites" - ], - "type": "object", - "properties": { - "legalEntities": { - "type": "array", - "description": "Filter sites that should belong to legal entities (specified by BPNL)", - "items": { - "type": "string", - "description": "Filter sites that should belong to legal entities (specified by BPNL)" - } - }, - "sites": { - "type": "array", - "description": "Filter sites by BPNS of sites", - "items": { - "type": "string", - "description": "Filter sites by BPNS of sites" - } - } - } - }, - "SiteMatchVerboseDto": { - "required": [ - "mainAddress", - "site" - ], - "type": "object", - "properties": { - "mainAddress": { - "$ref": "#/components/schemas/LogisticAddressVerboseDto" - }, - "site": { - "$ref": "#/components/schemas/SiteVerboseDto" - } - }, - "description": "Match for a business partner record of type site. In general, a site is a delimited geographical area in which an organization (such as an enterprise or company, university, association, etc.) conducts business. In Catena-X, a site is a type of business partner representing a physical location or area owned by a legal entity, where a production plant, a warehouse, or an office building is located. A site is owned by a legal entity. Thus, exactly one legal entity is assigned to a site. A site has exactly one main address, but it is possible to specify additional addresses (such as different gates), that belong to a site. Thus, at least one address is assigned to a site. A site can only be uploaded and modified by the owner (the legal entity), because only the owner knows which addresses belong to which site. A site is uniquely identified by the BPNS." - }, "SitePartnerCreateRequest": { "required": [ "bpnlParent", @@ -6025,11 +5831,11 @@ "$ref": "#/components/schemas/ErrorInfoSiteCreateError" } }, - "errorCount": { + "entityCount": { "type": "integer", "format": "int32" }, - "entityCount": { + "errorCount": { "type": "integer", "format": "int32" } @@ -6066,7 +5872,8 @@ } }, "isCatenaXMemberData": { - "type": "boolean" + "type": "boolean", + "description": "Indicates whether the site is owned and thus provided by a Catena-X Member." }, "bpnLegalEntity": { "type": "string", @@ -6154,11 +5961,11 @@ "$ref": "#/components/schemas/ErrorInfoSiteUpdateError" } }, - "errorCount": { + "entityCount": { "type": "integer", "format": "int32" }, - "entityCount": { + "errorCount": { "type": "integer", "format": "int32" } @@ -6267,7 +6074,8 @@ } }, "isCatenaXMemberData": { - "type": "boolean" + "type": "boolean", + "description": "Indicates whether the site is owned and thus provided by a Catena-X Member." }, "bpnLegalEntity": { "type": "string", @@ -6319,7 +6127,8 @@ } }, "isCatenaXMemberData": { - "type": "boolean" + "type": "boolean", + "description": "Indicates whether the site is owned and thus provided by a Catena-X Member." }, "bpnLegalEntity": { "type": "string", diff --git a/docs/api/pool.yaml b/docs/api/pool.yaml index 5e4929b3d..1dbef439f 100644 --- a/docs/api/pool.yaml +++ b/docs/api/pool.yaml @@ -2,7 +2,7 @@ openapi: 3.0.1 info: title: Business Partner Data Management Pool description: Service that manages and shares business partner data with other CatenaX services - version: 6.0.0-SNAPSHOT + version: 6.0.0 servers: - url: http://localhost:8080 description: Generated server url @@ -20,14 +20,33 @@ tags: - name: Address Controller description: Read, create and update business partner of type address paths: - /sites: + /v6/sites: get: tags: - Site Controller summary: Get page of sites matching the pagination search criteria description: This endpoint retrieves all existing business partners of type sites. - operationId: getSitesPaginated + operationId: getSites parameters: + - name: siteBpns + in: query + required: false + schema: + type: array + items: + type: string + - name: legalEntityBpns + in: query + required: false + schema: + type: array + items: + type: string + - name: name + in: query + required: false + schema: + type: string - name: page in: query description: Number of page to get results from @@ -51,7 +70,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/PageDtoSiteMatchVerboseDto' + $ref: '#/components/schemas/PageDtoSiteWithMainAddressVerboseDto' '400': description: On malformed pagination request put: @@ -100,17 +119,23 @@ paths: $ref: '#/components/schemas/SitePartnerCreateResponseWrapper' '400': description: On malformed requests - /legal-entities: + /v6/legal-entities: get: tags: - Legal Entity Controller summary: Returns legal entities by different search parameters - description: 'This endpoint tries to find matches among all existing business partners of type legal entity, filtering out partners which entirely do not match and ranking the remaining partners according to the accuracy of the match. The match of a partner is better the higher its relevancy score. ' + description: 'This endpoint tries to find matches among all existing business partners of type legal entity, filtering out partners which entirely do not match and ranking the remaining partners according to the accuracy of the match. ' operationId: getLegalEntities parameters: + - name: bpnLs + in: query + required: false + schema: + type: array + items: + type: string - name: legalName in: query - description: Filter legal entities by name required: false schema: type: string @@ -137,7 +162,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/PageDtoLegalEntityMatchVerboseDto' + $ref: '#/components/schemas/PageDtoLegalEntityWithLegalAddressVerboseDto' '400': description: On malformed search or pagination request put: @@ -186,7 +211,7 @@ paths: $ref: '#/components/schemas/LegalEntityPartnerCreateResponseWrapper' '400': description: On malformed requests - /addresses: + /v6/addresses: get: tags: - Address Controller @@ -194,9 +219,29 @@ paths: description: 'This endpoint tries to find matches among all existing business partners of type address, filtering out partners which entirely do not match and ranking the remaining partners according to the accuracy of the match. The match of a partner is better the higher its relevancy score. ' operationId: getAddresses_1 parameters: + - name: addressBpns + in: query + required: false + schema: + type: array + items: + type: string + - name: legalEntityBpns + in: query + required: false + schema: + type: array + items: + type: string + - name: siteBpns + in: query + required: false + schema: + type: array + items: + type: string - name: name in: query - description: Filter business partners by name required: false schema: type: string @@ -223,7 +268,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/PageDtoAddressMatchVerboseDto' + $ref: '#/components/schemas/PageDtoLogisticAddressVerboseDto' '400': description: On malformed search or pagination request put: @@ -272,13 +317,13 @@ paths: $ref: '#/components/schemas/AddressPartnerCreateResponseWrapper' '400': description: On malformed requests - /sites/search: + /v6/sites/search: post: tags: - Site Controller summary: Returns sites by an array of BPNS and/or an array of corresponding BPNL description: Search business partners of type site by their BPNSs or by the BPNLs of their parent legal entities - operationId: searchSites + operationId: postSiteSearch parameters: - name: page in: query @@ -301,7 +346,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SiteBpnSearchRequest' + $ref: '#/components/schemas/SiteSearchRequest' required: true responses: '200': @@ -312,11 +357,11 @@ paths: $ref: '#/components/schemas/PageDtoSiteWithMainAddressVerboseDto' '400': description: On malformed request parameters - /members/sites/search: + /v6/members/sites/search: post: tags: - Site Controller - operationId: searchSites_1 + operationId: postSiteSearch_1 parameters: - name: page in: query @@ -348,7 +393,7 @@ paths: application/json: schema: $ref: '#/components/schemas/PageDtoSiteWithMainAddressVerboseDto' - /members/legal-entities/search: + /v6/members/legal-entities/search: post: tags: - Legal Entity Controller @@ -384,7 +429,7 @@ paths: application/json: schema: $ref: '#/components/schemas/PageDtoLegalEntityWithLegalAddressVerboseDto' - /members/changelog/search: + /v6/members/changelog/search: post: tags: - Changelog Controller @@ -420,7 +465,7 @@ paths: application/json: schema: $ref: '#/components/schemas/PageDtoChangelogEntryVerboseDto' - /members/addresses/search: + /v6/members/addresses/search: post: tags: - Address Controller @@ -456,7 +501,7 @@ paths: application/json: schema: $ref: '#/components/schemas/PageDtoLogisticAddressVerboseDto' - /legal-forms: + /v6/legal-forms: get: tags: - Metadata Controller @@ -513,20 +558,36 @@ paths: description: On malformed request parameters '409': description: Legal form with specified technical key already exists - /legal-entities/search: + /v6/legal-entities/search: post: tags: - Legal Entity Controller - summary: Returns legal entities by an array of BPNL + summary: Returns legal entities by different search parameters description: Search legal entity partners by their BPNLs. The response can contain less results than the number of BPNLs that were requested, if some of the BPNLs did not exist. For a single request, the maximum number of BPNLs to search for is limited to ${bpdm.bpn.search-request-limit} entries. - operationId: searchLegalEntitys + operationId: postLegalEntitySearch + parameters: + - name: page + in: query + description: Number of page to get results from + required: false + schema: + minimum: 0 + type: string + default: '0' + - name: size + in: query + description: Size of each page + required: false + schema: + maximum: 100 + minimum: 0 + type: string + default: '10' requestBody: content: application/json: schema: - type: array - items: - type: string + $ref: '#/components/schemas/LegalEntitySearchRequest' required: true responses: '200': @@ -534,12 +595,10 @@ paths: content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/LegalEntityWithLegalAddressVerboseDto' + $ref: '#/components/schemas/PageDtoLegalEntityWithLegalAddressVerboseDto' '400': description: On malformed request parameters or if number of requested bpns exceeds limit - /identifier-types: + /v6/identifier-types: get: tags: - Metadata Controller @@ -883,7 +942,7 @@ paths: description: On malformed request parameters '409': description: Identifier type with specified technical key already exists - /business-partners/changelog/search: + /v6/business-partners/changelog/search: post: tags: - Changelog Controller @@ -924,7 +983,7 @@ paths: description: On malformed pagination request '404': description: No business partner found for specified bpn - /bpn/search: + /v6/bpn/search: post: tags: - Bpn Controller @@ -951,7 +1010,7 @@ paths: description: On malformed request parameters or if number of requested bpns exceeds limit '404': description: Specified identifier type not found - /addresses/search: + /v6/addresses/search: post: tags: - Address Controller @@ -980,7 +1039,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/AddressPartnerBpnSearchRequest' + $ref: '#/components/schemas/AddressSearchRequest' required: true responses: '200': @@ -991,7 +1050,7 @@ paths: $ref: '#/components/schemas/PageDtoLogisticAddressVerboseDto' '400': description: On malformed pagination request - /sites/{bpns}: + /v6/sites/{bpns}: get: tags: - Site Controller @@ -1016,7 +1075,7 @@ paths: description: On malformed request parameters '404': description: No site found under specified BPNS - /legal-entities/{idValue}: + /v6/legal-entities/{idValue}: get: tags: - Legal Entity Controller @@ -1048,13 +1107,13 @@ paths: description: On malformed request parameters '404': description: No business partner found under specified identifier or specified identifier type not found - /legal-entities/{bpnl}/sites: + /v6/legal-entities/{bpnl}/sites: get: tags: - Legal Entity Controller summary: Returns all sites of a legal entity with a specific BPNL description: Get business partners of type site belonging to a business partner of type legal entity, identified by the business partner's bpnl ignoring case. - operationId: getSites + operationId: getSites_1 parameters: - name: bpnl in: path @@ -1090,7 +1149,7 @@ paths: description: On malformed pagination request '404': description: No business partner found for specified bpnl - /legal-entities/{bpnl}/addresses: + /v6/legal-entities/{bpnl}/addresses: get: tags: - Legal Entity Controller @@ -1132,7 +1191,7 @@ paths: description: On malformed pagination request '404': description: No business partner found for specified BPNL - /field-quality-rules/: + /v6/field-quality-rules/: get: tags: - Metadata Controller @@ -1430,7 +1489,7 @@ paths: $ref: '#/components/schemas/FieldQualityRuleDto' '400': description: On malformed request parameters - /administrative-areas-level1: + /v6/administrative-areas-level1: get: tags: - Metadata Controller @@ -1464,7 +1523,7 @@ paths: $ref: '#/components/schemas/PageDtoCountrySubdivisionDto' '400': description: On malformed request parameters - /addresses/{bpna}: + /v6/addresses/{bpna}: get: tags: - Address Controller @@ -1516,45 +1575,6 @@ components: type: $ref: '#/components/schemas/TypeKeyNameVerboseDtoString' description: An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN). - AddressMatchVerboseDto: - required: - - address - - score - type: object - properties: - score: - type: number - description: Relative quality score of the match. The higher the better. - format: float - address: - $ref: '#/components/schemas/LogisticAddressVerboseDto' - description: Match for a business partner record of type address. In general, an address is a collection of information to describe a physical location, using a street name with a house number and/or a post office box as reference. In addition, an address consists of several postal attributes, such as country, region (state), county, township, city, district, or postal code, which help deliver mail.In Catena-X, an address is a type of business partner representing the legal address of a legal entity, and/or the main address of a site, or any additional address of a legal entity or site (such as different gates).An address is owned by a legal entity. Thus, exactly one legal entity is assigned to an address. An address can belong to a site. Thus, one or no site is assigned to an address. An address is uniquely identified by the BPNA. - AddressPartnerBpnSearchRequest: - required: - - addresses - - legalEntities - - sites - type: object - properties: - legalEntities: - type: array - description: Filter by Business Partner Numbers of legal entities which are at that address - items: - type: string - description: Filter by Business Partner Numbers of legal entities which are at that address - sites: - type: array - description: Filter by Business Partner Numbers of sites which are at that address - items: - type: string - description: Filter by Business Partner Numbers of sites which are at that address - addresses: - type: array - description: Filter by BPNA of addresses - items: - type: string - description: Filter by BPNA of addresses - description: Request for searching business partners of type address by parent BPNs AddressPartnerCreateRequest: required: - bpnParent @@ -1608,10 +1628,10 @@ components: type: array items: $ref: '#/components/schemas/ErrorInfoAddressCreateError' - errorCount: + entityCount: type: integer format: int32 - entityCount: + errorCount: type: integer format: int32 description: Holds information about successfully and failed entities after the creating/updating of several objects @@ -1655,6 +1675,7 @@ components: description: The BPNS of the site the address belongs to. isCatenaXMemberData: type: boolean + description: Indicates whether the address is owned and thus provided by a Catena-X Member. createdAt: type: string description: The date when the data record has been created. @@ -1728,10 +1749,10 @@ components: type: array items: $ref: '#/components/schemas/ErrorInfoAddressUpdateError' - errorCount: + entityCount: type: integer format: int32 - entityCount: + errorCount: type: integer format: int32 description: Holds information about successfully and failed entities after the creating/updating of several objects @@ -3342,75 +3363,11 @@ components: type: string description: The name of the official register, where the identifier is registered. For example, a Handelsregisternummer in Germany is only valid with its corresponding Handelsregister. description: A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc. - LegalEntityMatchVerboseDto: - required: - - bpnl - - confidenceCriteria - - createdAt - - currentness - - identifiers - - isCatenaXMemberData - - legalAddress - - legalName - - relations - - score - - states - - updatedAt - type: object - properties: - score: - type: number - description: Relative quality score of the match. The higher the better. - format: float - bpnl: - type: string - description: A BPNL represents and uniquely identifies a legal entity, which is defined by its legal name (including legal form, if registered), legal address and tax number. - legalName: - type: string - description: The name of the legal entity according to official registers. - legalShortName: - type: string - description: The abbreviated name of the legal entity. - legalForm: - $ref: '#/components/schemas/LegalFormDto' - identifiers: - type: array - description: The list of identifiers of the legal entity. - items: - $ref: '#/components/schemas/LegalEntityIdentifierVerboseDto' - states: - type: array - description: The list of (temporary) states of the legal entity. - items: - $ref: '#/components/schemas/LegalEntityStateVerboseDto' - relations: - type: array - description: Relations to other business partners. - items: - $ref: '#/components/schemas/RelationVerboseDto' - currentness: - type: string - description: The date the business partner data was last indicated to be still current. - format: date-time - confidenceCriteria: - $ref: '#/components/schemas/ConfidenceCriteriaDto' - isCatenaXMemberData: - type: boolean - createdAt: - type: string - description: The date when the data record has been created. - format: date-time - updatedAt: - type: string - description: The date when the data record has been last updated. - format: date-time - legalAddress: - $ref: '#/components/schemas/LogisticAddressVerboseDto' - description: Match with score for a business partner record of type legal entity. In general, a legal entity is a juridical person that has legal rights and duties related to contracts, agreements, and obligations. The term especially applies to any kind of organization (such as an enterprise or company, university, association, etc.) established under the law applicable to a country.In Catena-X, a legal entity is a type of business partner representing a legally registered organization with its official registration information, such as legal name (including legal form, if registered), legal address and tax number.A legal entity has exactly one legal address, but it is possible to specify additional addresses that a legal entity owns. Thus, at least one address is assigned to a legal entity. A legal entity can own sites. Thus, many or no sites are assigned to a legal entity. A legal entity is uniquely identified by the BPNL. LegalEntityPartnerCreateRequest: required: - confidenceCriteria - identifiers + - isCatenaXMemberData - legalAddress - legalName - states @@ -3437,6 +3394,9 @@ components: $ref: '#/components/schemas/LegalEntityStateDto' confidenceCriteria: $ref: '#/components/schemas/ConfidenceCriteriaDto' + isCatenaXMemberData: + type: boolean + description: Indicates whether the legal entity is owned and thus provided by a Catena-X Member. legalAddress: $ref: '#/components/schemas/LogisticAddressDto' index: @@ -3461,10 +3421,10 @@ components: type: array items: $ref: '#/components/schemas/ErrorInfoLegalEntityCreateError' - errorCount: + entityCount: type: integer format: int32 - entityCount: + errorCount: type: integer format: int32 description: Holds information about successfully and failed entities after the creating/updating of several objects @@ -3517,6 +3477,7 @@ components: $ref: '#/components/schemas/ConfidenceCriteriaDto' isCatenaXMemberData: type: boolean + description: Indicates whether the legal entity is owned and thus provided by a Catena-X Member. createdAt: type: string description: The date when the data record has been created. @@ -3536,6 +3497,7 @@ components: - bpnl - confidenceCriteria - identifiers + - isCatenaXMemberData - legalAddress - legalName - requestKey @@ -3566,6 +3528,9 @@ components: $ref: '#/components/schemas/LegalEntityStateDto' confidenceCriteria: $ref: '#/components/schemas/ConfidenceCriteriaDto' + isCatenaXMemberData: + type: boolean + description: Indicates whether the legal entity is owned and thus provided by a Catena-X Member. legalAddress: $ref: '#/components/schemas/LogisticAddressDto' requestKey: @@ -3587,10 +3552,10 @@ components: type: array items: $ref: '#/components/schemas/ErrorInfoLegalEntityUpdateError' - errorCount: + entityCount: type: integer format: int32 - entityCount: + errorCount: type: integer format: int32 description: Holds information about successfully and failed entities after the creating/updating of several objects @@ -3690,6 +3655,7 @@ components: $ref: '#/components/schemas/ConfidenceCriteriaDto' isCatenaXMemberData: type: boolean + description: Indicates whether the legal entity is owned and thus provided by a Catena-X Member. createdAt: type: string description: The date when the data record has been created. @@ -3801,6 +3767,7 @@ components: description: The BPNS of the site the address belongs to. isCatenaXMemberData: type: boolean + description: Indicates whether the address is owned and thus provided by a Catena-X Member. createdAt: type: string description: The date when the data record has been created. @@ -3820,37 +3787,6 @@ components: - SiteMainAddress - AdditionalAddress description: In general, an address is a collection of information to describe a physical location, using a street name with a house number and/or a post office box as reference. In addition, an address consists of several postal attributes, such as country, region (state), county, township, city, district, or postal code, which help deliver mail.In Catena-X, an address is a type of business partner representing the legal address of a legal entity, and/or the main address of a site, or any additional address of a legal entity or site (such as different gates).An address is owned by a legal entity. Thus, exactly one legal entity is assigned to an address. An address can belong to a site. Thus, one or no site is assigned to an address. An address is uniquely identified by the BPNA. - PageDtoAddressMatchVerboseDto: - required: - - content - - contentSize - - page - - totalElements - - totalPages - type: object - properties: - totalElements: - type: integer - description: Total number of all results in all pages - format: int64 - totalPages: - type: integer - description: Total number pages - format: int32 - page: - type: integer - description: Current page number - format: int32 - contentSize: - type: integer - description: Number of results in the page - format: int32 - content: - type: array - description: Collection of results in the page - items: - $ref: '#/components/schemas/AddressMatchVerboseDto' - description: Paginated collection of results PageDtoChangelogEntryVerboseDto: required: - content @@ -3944,37 +3880,6 @@ components: items: $ref: '#/components/schemas/IdentifierTypeDto' description: Paginated collection of results - PageDtoLegalEntityMatchVerboseDto: - required: - - content - - contentSize - - page - - totalElements - - totalPages - type: object - properties: - totalElements: - type: integer - description: Total number of all results in all pages - format: int64 - totalPages: - type: integer - description: Total number pages - format: int32 - page: - type: integer - description: Current page number - format: int32 - contentSize: - type: integer - description: Number of results in the page - format: int32 - content: - type: array - description: Collection of results in the page - items: - $ref: '#/components/schemas/LegalEntityMatchVerboseDto' - description: Paginated collection of results PageDtoLegalEntityWithLegalAddressVerboseDto: required: - content @@ -4068,37 +3973,6 @@ components: items: $ref: '#/components/schemas/LogisticAddressVerboseDto' description: Paginated collection of results - PageDtoSiteMatchVerboseDto: - required: - - content - - contentSize - - page - - totalElements - - totalPages - type: object - properties: - totalElements: - type: integer - description: Total number of all results in all pages - format: int64 - totalPages: - type: integer - description: Total number pages - format: int32 - page: - type: integer - description: Current page number - format: int32 - contentSize: - type: integer - description: Number of results in the page - format: int32 - content: - type: array - description: Collection of results in the page - items: - $ref: '#/components/schemas/SiteMatchVerboseDto' - description: Paginated collection of results PageDtoSiteVerboseDto: required: - content @@ -4840,35 +4714,6 @@ components: description: Time when the relation ended format: date-time description: Directed relation between two business partners - SiteBpnSearchRequest: - required: - - legalEntities - - sites - type: object - properties: - legalEntities: - type: array - description: Filter sites that should belong to legal entities (specified by BPNL) - items: - type: string - description: Filter sites that should belong to legal entities (specified by BPNL) - sites: - type: array - description: Filter sites by BPNS of sites - items: - type: string - description: Filter sites by BPNS of sites - SiteMatchVerboseDto: - required: - - mainAddress - - site - type: object - properties: - mainAddress: - $ref: '#/components/schemas/LogisticAddressVerboseDto' - site: - $ref: '#/components/schemas/SiteVerboseDto' - description: Match for a business partner record of type site. In general, a site is a delimited geographical area in which an organization (such as an enterprise or company, university, association, etc.) conducts business. In Catena-X, a site is a type of business partner representing a physical location or area owned by a legal entity, where a production plant, a warehouse, or an office building is located. A site is owned by a legal entity. Thus, exactly one legal entity is assigned to a site. A site has exactly one main address, but it is possible to specify additional addresses (such as different gates), that belong to a site. Thus, at least one address is assigned to a site. A site can only be uploaded and modified by the owner (the legal entity), because only the owner knows which addresses belong to which site. A site is uniquely identified by the BPNS. SitePartnerCreateRequest: required: - bpnlParent @@ -4915,10 +4760,10 @@ components: type: array items: $ref: '#/components/schemas/ErrorInfoSiteCreateError' - errorCount: + entityCount: type: integer format: int32 - entityCount: + errorCount: type: integer format: int32 description: Holds information about successfully and failed entities after the creating/updating of several objects @@ -4948,6 +4793,7 @@ components: $ref: '#/components/schemas/SiteStateVerboseDto' isCatenaXMemberData: type: boolean + description: Indicates whether the site is owned and thus provided by a Catena-X Member. bpnLegalEntity: type: string description: The BPNL of the legal entity owning the site. @@ -5011,10 +4857,10 @@ components: type: array items: $ref: '#/components/schemas/ErrorInfoSiteUpdateError' - errorCount: + entityCount: type: integer format: int32 - entityCount: + errorCount: type: integer format: int32 description: Holds information about successfully and failed entities after the creating/updating of several objects @@ -5095,6 +4941,7 @@ components: $ref: '#/components/schemas/SiteStateVerboseDto' isCatenaXMemberData: type: boolean + description: Indicates whether the site is owned and thus provided by a Catena-X Member. bpnLegalEntity: type: string description: The BPNL of the legal entity owning the site. @@ -5135,6 +4982,7 @@ components: $ref: '#/components/schemas/SiteStateVerboseDto' isCatenaXMemberData: type: boolean + description: Indicates whether the site is owned and thus provided by a Catena-X Member. bpnLegalEntity: type: string description: The BPNL of the legal entity owning the site.